<分区>
我创建了一个支持拖放元素的 Angular Web 应用程序。
我完成了它的构建,但我有一个大模块。模块放在一个js文件里,有上千行代码。
我想知道如何将我的大模块分成几个相互通信的 js 文件中的几个模块。
有人可以给我提供简单的例子吗?我该怎么做?
<分区>
我创建了一个支持拖放元素的 Angular Web 应用程序。
我完成了它的构建,但我有一个大模块。模块放在一个js文件里,有上千行代码。
我想知道如何将我的大模块分成几个相互通信的 js 文件中的几个模块。
有人可以给我提供简单的例子吗?我该怎么做?
最佳答案
I would like to know how can i separate my big modules to several modules in several js files that communicate with each other.
当然你可以使用多个模块并像下面的例子那样绑定(bind)它们:
var firstModule = angular.module('firstModule', []);
var secondModule = angular.module('secondModule', ['firstModule']);
现在 firstModule
中创建的所有服务/指令在 secondModule
中可见。
但在创建两个模块之前,您应该问问自己:
<强>1。两个模块
据我所知,如果您的项目包含具有不同依赖项的不同部分,那么多个模块是一种好方法。
例如,一个模块使用 ui.bootstrap
而另一个模块为空,例如:
var firstModule = angular.module('firstModule', []);
var secondModule = angular.module('secondModule', ['ui.bootstrap','firstModule']);
<强>2。两个 Controller
多 Controller 的方式有利于拆分业务逻辑,让代码更清晰
<强>3。两个js文件中的一个 Controller
您可能希望以这种方式实现(因为我们不知道您的项目目标)
例如:
controllers.js
var app = angular.module('myApp', []);
app.controller('someCtrl', function($scope) {
// call other js file:
otherFile($scope);
/*....*/
});
app.$inject = ['$scope'];
someotherfile.js
var otherFile = function($scope) {
/*...*/
});
关于javascript - Angular js分离到不同js文件中的不同模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20836561/