Dim*_*ris 1 javascript angularjs
我使用自调用函数来包含角度控制器内的所有javascript代码(我想我在某处看到它是最佳实践).所以我的控制器看起来像这样:
(function() {
// code
})()
Run Code Online (Sandbox Code Playgroud)
我使用gulp将所有控制器合并到一个文件中.我的问题是这个.这是否意味着我的应用程序启动时将调用并执行所有Javascript代码?如果是这样,我想这不是一个很好的方法.这个问题有什么解决方案吗?任何意见?谢谢
不,并非所有代码都被执行.定义Angular模块时
(function() {
'use strict';
angular
.module('myModule', [])
.controller('myController', ['$http', myControllerFunc]);
function myControllerFunc ($http) {
// ...
}
})();
Run Code Online (Sandbox Code Playgroud)
执行的只是angular注册模块和控制器的方法.但实际的控制器逻辑在回调函数中,并且仅在调用控制器时调用(例如,通过路由器).
所以,一切都很好,并将代码包装在匿名函数中是一个好主意,例如myControllerFunc,保持在全局命名空间之外.
| 归档时间: |
|
| 查看次数: |
2101 次 |
| 最近记录: |