我有一个AngularJS指令。在链接功能运行之前是否总是实例化控制器?
function MyController() {}
function MyDirective() {
return {
scope: {},
template: template,
require: 'ngModel',
restrict: 'E',
replace: true,
controller: myController,
link: function(scope, element, attrs, controller) {}
};
}
在我的测试中,控制器在链接函数运行之前被实例化,但是总是这样吗?
根据{{3}}帖子编辑,看起来答案是“是”。
答案 0 :(得分:3)
是的,编译总是在链接之前执行。你正在寻找这个(官方):
https://docs.angularjs.org/guide/compiler
如果你想进一步深入研究,还有另一种情况需要了解。链接分为预链接和后链接。这篇博文中描述了这些的执行顺序:
http://www.jvandemo.com/the-nitty-gritty-of-compile-and-link-functions-inside-angularjs-directives/