0
我正在使用sidr(http://www.berriart.com/sidr/),角度爲我的導航欄。 sidr所做的是複製我的導航欄的標記,並將其放在包裹在其自定義div中的正文之前。如何在angularjs中編譯由第三方庫添加的DOM?
現在我已經在我的導航欄上定義了一個指令,它看起來像這樣的<ul filter>....</ul>
。由於sidr正在複製我的導航欄標記,所以我有2個ul過濾指令。但是我的指令的鏈接函數只被調用一次,因爲角度劑量不知道該指令的另一個事件。
我的標記看起來像這樣
<ul class="side-nav nested-nav" filter>
<li class="has-sub-menu" ng-repeat="filter in filters">
<a href="#" ng-bind="filter.label"></a>
<ul class="sub-menu" options>
<li ng-repeat="option in filter.options">
<a href="#" ng-bind="option.label"></a>
</li>
</ul>
</li>
</ul>
和我在我的指導
angular.module('test')
.directive('filter', function() {
return {
link: function($scope, iElement, iAttrs) {
console.log('hello world!'):
}
}
})
那我怎麼告訴角度來編譯這是由錫德,當添加第二<ul filter>....</ul>
?
將有助於查看您的代碼。我在使用Boostrap模式的項目中爲疊加指令做了類似的操作。我手動移動了指令的後鏈接函數中的元素,以便它們已經被編譯。你可以推遲複製,直到後鏈接功能,所以編譯完成? –
我已經添加了我的代碼,看看是否有幫助。 Sidr正在複製我的'nested-nav',所以它有2個DOM出現,但它只記錄一次,因爲angualr不知道由sidr創建的第二個事件 – aditya