首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角力迫使我在窗口上设置变量

问角力迫使我在窗口上设置变量
EN

Stack Overflow用户
提问于 2013-07-01 11:07:57
回答 2查看 124关注 0票数 0

我想遵循angularjs的建议(http://docs.angularjs.org/guide/module):

虽然上面的例子很简单,但它不会扩展到大型应用程序。相反,我们建议您将应用程序分解为多个模块,如下所示: 一种服务模块,用于服务声明A指令模块,用于指令声明A过滤器模块,用于过滤器声明,以及应用程序级模块,该模块依赖于上述模块,并且具有初始化代码。

因此,我创建了只包含以下内容的services.js文件:

代码语言:javascript
复制
window.myservices = angular.module('services', []);

然后,我添加了几个服务,每个服务文件的开头都是:

代码语言:javascript
复制
window.myservices.factory('service1', function() {
    ....
});

我也为filters.js和directives.js做了同样的东西。

在我的app.js文件中,我创建了:

代码语言:javascript
复制
window.App = angular.module('app', ['services', 'filters', 'directives']).
    // run \ config \ whatever

我怎样才能不在窗口上设置变量就可以做到这一点?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-01 14:12:20

正如Stewie所说,你可以使用angular.modue('service',[]);

但是,您只需要在第一个加载的文件中这样做,如下所示:

file1.js

代码语言:javascript
复制
var mod = angular.module('service',['dependancy']);

file2.js

代码语言:javascript
复制
var mod = angular.module('service');

index.html

代码语言:javascript
复制
<script src="/scripts/file1.js"></script>
<script src="/scripts/file2.js"></script>

另一个选择是使用命名空间..。

file1.js

代码语言:javascript
复制
var mod = angular.module('service.part1',[]);

file2.js

代码语言:javascript
复制
var mod = angular.module('service.part2',[]);

main.js

代码语言:javascript
复制
var mod = angular.moduel('service', ['service.part1','service.part2']);

编辑(柱塞):

http://plnkr.co/edit/i75A5CQeSptQjaxvR8qi?p=preview

票数 0
EN

Stack Overflow用户

发布于 2013-07-01 12:01:04

根本不需要全球性的:

代码语言:javascript
复制
// Define your services
angular.module('services', [])
  .factory('service1', function(){})
  .factory('service2', function(){});

// Define you main app module and specify the dependencies
angular.module('MyApp', ['services']);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17403025

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档