javascript - Angular 组件启动时初始化函数的模式

标签 javascript angularjs design-patterns angularjs-components

最近我在 Angular 组件启动时初始化了一个函数。

我见过这个comment我想知道这是否是一个好的模式,或者可以更好地声明该函数并在下面的代码之后调用它:

angular.module('app').controller('control',[...,
  function(){
    ...
    var init = function () {
      //what i wish run on launch
    };

    // function call to launch
    init();

  }
)

或如评论中所述:

(function(){
    //code to run
}());

使用最后一种方法时,您使用过什么,甚至是否存在已知问题?

最佳答案

我建议您使用“顶部可绑定(bind)成员”的原则,并使用函数声明而不是函数表达式,以便函数可以隐藏在 Controller 底部并被提升。

angular.module('app').controller('control',[...,
  function(){


    // function call to launch
    init();

    // declare functions at bottom
    function init() {
      //what i wish run on launch
    }

  }
)

引用:John Papa Angular Style guide

关于javascript - Angular 组件启动时初始化函数的模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44913080/

相关文章:

c# - 在 C# 中控制对内部集合的访问 - 需要模式

design-patterns - 多点触控设计和交互模式,有联系吗?

javascript - 识别和准确识别 RxJS 中的一系列事件

javascript - HTML:<link> 标签不应多次获取同一个文件

c# - 在 asp.net 网站中打印网页时,分页之前无法在 firefox 浏览器中工作

javascript - 努力将结果从工厂返回到示波器

javascript - (angularjs) 注入(inject) Controller 时获取 'ReferenceError: $scope is not defined'

PHP:我是否将事件驱动编程与信号感知接口(interface)(信号和插槽/观察者模式)混为一谈?

javascript - 如何从 YouTube 视频网址获取直接视频网址?

javascript - 创建指令并以 Angular 隔离范围