<!-- Begin page content part of a pageCtrl -->
<div class="container" ng-init="pageInit();">
<div class="template {{block.type}}" ng-repeat="block in pageBlocks" my-repeat-directive>
<div ng-controller="templateCtrl" ng-include src="'partials/components/' + block.type + '.html'" ng-init="initTemplate(block);"></div>
</div>
</div>
在我的ng-repeat中,我使用 templateCtrl 动态初始化一些小模板,从我的 pageCtrl 范围传递一些数据。 我的目标是在Angularjs加载和编译我的模板的所有内容后能够执行一些javascript。
但目前我找不到“毕竟被编译”事件来管理一些简单的回调操作。
我试过指令&amp;在ng-repeat上的最后重复操作,我尝试了范围。$ watch,$ timeout,$ scope。$ on('$ viewContentLoaded')...但是任何工作行为。
任何想法,建议?提前谢谢
答案 0 :(得分:0)
经过一些其他尝试后,我最终在这个解决方案中,这似乎工作得非常好。
这在html中
<div ng-controller="templateCtrl" ng-include src="'partials/components/' + block.type + '.html'" ng-init="initTemplate(block);" template-directive></div>
这是在javascript中
app.directive('templateDirective', function($timeout){
return {
restrict: "EA",
compile: function(element, attributes){
return {
post: function(scope, element, attributes, controller, transcludeFn){
if(scope.$last){
$timeout(function(){
//operations in the callback
}, 250);
}
}
};
}
};
});
专家们同意吗?