在AngularJS中,$onInit
如果没有该函数就可以执行相同的初始化,则该函数的目的是什么?
例如:
module.component("myComponent", {
...
controller: function() {
const $ctrl = this;
$ctrl.$onInit = () => {
$ctrl.var1 = "hello";
$ctrl.var2 = { test: 3 };
}
}
});
也可以这样完成:
module.component("myComponent", {
...
controller: function() {
const $ctrl = this;
$ctrl.var1 = "hello";
$ctrl.var2 = { test: 3 };
}
});
在某些情况下$onInit
有必要吗?
在构造完一个元素上的所有控制器并初始化它们的绑定之后(并且在该元素上的指令的pre和post链接功能之前),在每个控制器上调用。
这给您两个保证:
与第一种方法相反,后者无法保证所有这些事实(尽管第二种可能性很高)。
另外,就样式和可读性而言,它使潜在的阅读者/审阅者非常清楚这是您作为开发人员打算在初始化此控制器时运行的代码。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句