4
編譯完成後需要觸發一個事件。如何從AngularJS的編譯中獲得承諾?
這是我父控制器是什麼樣子:
myApp.directive("ParentDirective", ["$rootScope", "$compile",
function($rootScope, $compile) {
return {
link: function (scope, element) {
var onClick = function() {
if (!scope.childDir) {
scope.childDir = $compile('<div ng-controller="childCtrl"/>')(scope);
$(scope.element).append(scope.childDir);
}
$rootScope.$broadcast('event');
}
$(element).click(onClick);
}
}
}
]);
而在childCtrl我有一個聽衆:
$rootScope.$on('event', doSomething);
的問題是,該指令處理髮生我控制器觸發事件之後。有沒有辦法從編譯器獲得承諾或在編譯發生後以任何方式觸發事件?