AngularJS指令 - 在链接函数运行之前,控制器是否总是被实例化?

时间:2015-08-21 16:11:44

标签: javascript angularjs

我有一个AngularJS指令。在链接功能运行之前是否总是实例化控制器?

function MyController() {}

function MyDirective() {
     return {
         scope: {},
         template: template,
         require: 'ngModel',
         restrict: 'E',
         replace: true,
         controller: myController,
         link: function(scope, element, attrs, controller) {}
     };
}

在我的测试中,控制器在链接函数运行之前被实例化,但是总是这样吗?

根据{{​​3}}帖子

编辑,看起来答案是“是”。

1 个答案:

答案 0 :(得分:3)

是的,编译总是在链接之前执行。你正在寻找这个(官方):

https://docs.angularjs.org/guide/compiler

如果你想进一步深入研究,还有另一种情况需要了解。链接分为预链接和后链接。这篇博文中描述了这些的执行顺序:

http://www.jvandemo.com/the-nitty-gritty-of-compile-and-link-functions-inside-angularjs-directives/

相关问题