我正在尝试使用 ng-include 递归地渲染分层树。这是一个小提琴
问题在于我的链接函数在渲染完成之前被调用以尝试在空列表上初始化菜单插件。
link: function (scope, element, attrs) {
var $menus = element.find("ul");
//Prints empty element
console.log($menus.html());
//No real $menus to initialize
//$menus.menuAim({ });
}
我知道onload
在 ng-include 上有,但我不想诉诸一些丑陋的技巧,比如在每次加载时增加一个计数器并与元素计数进行比较,因为由于层次结构,计算计数变得很棘手。
有什么更简洁的方法可以知道 ng-include 何时完成完整的递归渲染并且所有元素都在页面上?
我尝试使用 postLink 而不是链接,但指令仍然打印一个空<ul>
:
link: {
pre: angular.noop,
post: function(scope, element, attrs){
//no difference
}
}