0

我在另一個父指令中創建一個指令,然後將指令的編譯元素附加到父指令的節點。 $ compile(template)(scope)正確地創建指令,但鏈接函數沒有被調用。

var addProductsToPage = function(template, products) { 

     for (var i = 0 ; i < products.length ; i++) { 

     var product = products[i]; 

     var productScope = $scope.$new(true); 

     productScope.product = product 

     var productDirective = $compile(template); 

     var productElement = productDirective(productScope); 

     element.append(productElement); 

     } 

} 

我編譯模板後如何調用鏈接函數?

回答

4

$compile(template)實際返回鏈接功能。

所以productDirective(productScope)實際上是對鏈接函數的調用。

來源:http://docs.angularjs.org/api/ng.$compile

返回 {函數(範圍[,cloneAttachFn])} - 鏈路功能,其是用於結合模板(DOM元素/樹)的範圍

+0

是的,如果你看看我打電話的鏈接功能。它正確地應用範圍,但它實際上並沒有激發我的鏈接功能。 –

+0

@JesseEarle你是如何解決這個問題的?答案被標記爲正確。 – antjanus

相關問題