Mar*_*itt 29 javascript angularjs
angular.module('myModule')多次呼叫的行为是什么?
例如,我希望在单独的.js文件中定义我的路由和我的指令.
这样安全吗?
例如:
//routes.js
angular.module('app',['$strap'])
.config(function($routeProvider, $locationProvider) {
...
});
//directives.js
angular.module('app')
.directive('formInput', function() {
...
Run Code Online (Sandbox Code Playgroud)
此外,多次定义依赖项的影响是什么?这是添加剂还是最后一次胜利?
例如:
Mar*_*cok 34
angular.module(name [,requires],configFn);
...
requires(可选) - {Array.=} - 如果指定,则创建新模块.如果未指定,则检索模块以进行进一步配置.- angular.module docs
我会解释如下:您只能定义一次依赖项 - 第一次为特定模块调用angular.module.之后可以多次调用angular.module(),但requires不能指定该选项.
Jam*_*ruk 15
您应该只创建一次模块.根据文档,如果您创建一个名称已存在的模块,它将覆盖前一个模块.(所以最后胜利.)
angular.module('app', []);
Run Code Online (Sandbox Code Playgroud)
您可以根据需要多次检索模块,也可以根据需要在单独的文件中检索模块.您通常会多次检索模块以声明服务,控制器,指令等.
angular.module('app').service('myService', ...);
angular.module('app').controller('myController', ...);
angular.module('app').directive('myDirective', ...);
Run Code Online (Sandbox Code Playgroud)
在关于模块的AngularJS文档中,请参阅" 创建与检索 "一节.
我是angular的新手,但这是我的理解:你在每个文件中创建一个带有命名空间模块名称的模块,在主模块中你需要这些模块.
// in main app.js file
var app = angular.module('myapp',
['myapp.routers', 'myapp.directives', 'myapp.filters']);
// in filters.js
angular.module('myapp.filters', []).filter(....)
// in routers.js
angular.module('myapp.routers', []).router(....)
// in directives.js
angular.module('myapp.directives', []).directive(....)
Run Code Online (Sandbox Code Playgroud)