为什么要在AngularJS中使用$ onInit?

丹尼尔

在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有必要吗?

兰兰

根据AngularJS文档

在构造完一个元素上的所有控制器并初始化它们的绑定之后(并且在该元素上的指令的pre和post链接功能之前),在每个控制器上调用。

这给您两个保证:

  1. 此元素上的所有控制器均已构造
  2. 此元素的pre和post链接功能尚未执行

与第一种方法相反,后者无法保证所有这些事实(尽管第二种可能性很高)。

另外,就样式和可读性而言,它使潜在的阅读者/审阅者非常清楚这是您作为开发人员打算在初始化此控制器时运行的代码。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Java

为什么要在Android中使用RequestQueue?

来自分类Dev

为什么要在golang中使用组合?

来自分类Dev

为什么要在FRP中使用行为

来自分类Dev

为什么要在Flux中使用“动作”?

来自分类Dev

为什么要在laravel中使用npm?

来自分类Dev

何时使用构造函数以及何时使用OnInit

来自分类Dev

在派生类中重写MyBase.OnInit(e)有什么影响?

来自分类Dev

为什么导入OnInit很重要

来自分类Dev

为什么要在Flink中使用kafka

来自分类Dev

angularjs单元测试元素$ onInit绑定未定义

来自分类Dev

使用ngOnInit函数时是否“实现OnInit”有什么区别

来自分类Dev

$ onInit没有被Typescript angularjs控制器调用

来自分类Dev

为什么要在Dialogflow中使用动作

来自分类Dev

何时使用AngularJS`$ onInit`生命周期挂钩

来自分类Dev

在AngularJS中,“ $ onInit”比“激活”更有效的方法是激活“控制器”吗?

来自分类Dev

为什么要在Typescript中使用接口

来自分类Dev

为什么类型提交按钮在父组件中触发OnInit

来自分类Dev

什么时候会为动态加载的角度分量触发OnInit事件?

来自分类Dev

我不知道为什么Angular组件类添加实现onInit接口

来自分类Dev

如果我在不实现OnInit接口的情况下使用ngOnInit方法会发生什么

来自分类Dev

使用Form Builder填充onInit上的输入

来自分类Dev

AngularJS angular-ui-calendar TypeError:this。$ compile不是函数;this。$ compile在$ onInit()内时具有值,但在$ onInit()内时未定义

来自分类Dev

为什么要在延迟中使用setTimeout

来自分类Dev

为什么要在结构中使用malloc?

来自分类Dev

为什么要在ListView中使用DataTemplate?

来自分类Dev

在onInit函数中插入什么

来自分类Dev

外部使用函数 OnInit() 内部使用 InInit()

来自分类Dev

使用 OnInit Angular 之前处理异步承诺

来自分类Dev

为什么要在 Angular 中使用 ValueAccessor?

Related 相关文章

  1. 1

    为什么要在Android中使用RequestQueue?

  2. 2

    为什么要在golang中使用组合?

  3. 3

    为什么要在FRP中使用行为

  4. 4

    为什么要在Flux中使用“动作”?

  5. 5

    为什么要在laravel中使用npm?

  6. 6

    何时使用构造函数以及何时使用OnInit

  7. 7

    在派生类中重写MyBase.OnInit(e)有什么影响?

  8. 8

    为什么导入OnInit很重要

  9. 9

    为什么要在Flink中使用kafka

  10. 10

    angularjs单元测试元素$ onInit绑定未定义

  11. 11

    使用ngOnInit函数时是否“实现OnInit”有什么区别

  12. 12

    $ onInit没有被Typescript angularjs控制器调用

  13. 13

    为什么要在Dialogflow中使用动作

  14. 14

    何时使用AngularJS`$ onInit`生命周期挂钩

  15. 15

    在AngularJS中,“ $ onInit”比“激活”更有效的方法是激活“控制器”吗?

  16. 16

    为什么要在Typescript中使用接口

  17. 17

    为什么类型提交按钮在父组件中触发OnInit

  18. 18

    什么时候会为动态加载的角度分量触发OnInit事件?

  19. 19

    我不知道为什么Angular组件类添加实现onInit接口

  20. 20

    如果我在不实现OnInit接口的情况下使用ngOnInit方法会发生什么

  21. 21

    使用Form Builder填充onInit上的输入

  22. 22

    AngularJS angular-ui-calendar TypeError:this。$ compile不是函数;this。$ compile在$ onInit()内时具有值,但在$ onInit()内时未定义

  23. 23

    为什么要在延迟中使用setTimeout

  24. 24

    为什么要在结构中使用malloc?

  25. 25

    为什么要在ListView中使用DataTemplate?

  26. 26

    在onInit函数中插入什么

  27. 27

    外部使用函数 OnInit() 内部使用 InInit()

  28. 28

    使用 OnInit Angular 之前处理异步承诺

  29. 29

    为什么要在 Angular 中使用 ValueAccessor?

热门标签

归档