2016-04-12 28 views
1

Bu yüzden ben bir uygulama yapıyorum ve ben JSON sunucudan JSON kullanarak, büyük olan handlebars.js tanıtıldı tanıtıldı.Handlebars.JS Şablon İçinde Ng-Click

Ama sanırım kavramsal olarak bazı şeyleri gözden kaçırmış olabilirim, çünkü Angular JS'nin şablonlama işlevselliği de olduğunu anlıyorum. Bu teknolojiler birlikte kullanılmamalıdır mı?

Her neyse, öncelikle handlebars.js ile başladığımdan, şablonumun gidonlarda var ve şablonda yer alan bir ng-click, Angular'ın bilmediği ve derlenmediği için ateş açmıyor. Açısal olarak.

ben gibi bir şey çalıştırmak kez gidon şablonda bu ng-click hakkında Açısal anlamanın bir yolu var mı:

var source = $("#newPostTemplate").html(); 
var template = Handlebars.compile(source); 
$("#subBoxone").append(template(theData)); 

Ya da sadece bir Açısal şablonu yapmalıyım? Angular rağmen templating hakkında bir şey bilmiyorum, bu yüzden benim handlebars.js uygulama ile devam etmek güzel olurdu ve sadece o şablon çalışmadan ng-click var. Bunu nasıl yaparım?

Bu

ng-click ile şablonun parçasıdır: doğru biri olup olmadığını ben eklemek olabilir

<button class="btn btn-primary btn-lg thoughtButton" ng-click="pollData()">Submit Additional Comment!</button> 

DOM hiyerarşisinde yukarıdan başka elemana ng tıklayın ve anlamaya $event kullanmak Sanırım, ancak bu doğrudan oluşturulan ng-click'a girmeyi tercih ederim.

Teşekkür ederiz ve gerekirse daha fazla bilgi vermekten mutluluk duyuyorum!

cevap

0

Çubuk, şablonlama kısmı için tutabilir, ancak tutamaçları düzenlemek ve sonra derlemek için sorumlu olan bir yönerge eklemeniz gerekir.

Bir template/ compile fonksiyonu ile bir yönerge varsa veya elle $compile ile o kendine link fonksiyonunu derlemek olabilir HTML bloğunu derlemek için. böylece biraz deneme gerekebilir önce Gidonu hiç kullanmadım, ama bir örnek gibi bir şey olurdu: Eğer Gidon şablon var her yerde

angular.module('handlebarsTemplate', []) 
    .directive('handlebarsTemplate', function() { 
    return { 
     ... 
     template: function(tElem, tAttrs) { 
     var html = tElem.html(); 
     var template = Handlebars.compile(html); 
     return template; 
     } 
     ... 
    }; 
    }); 

Yani, sadece bu yönergede kaydırmak gerekiyor ve bunu Derlenmiş Handlebars şablonunuzla Angular ile derlenmeli.