我创建了一个支持拖放元素的角度Web应用程序。
我完成了它,但我有一个大模块。该模块放在一个带有数千个代码行的js文件中。
我想知道如何将我的大模块分成几个相互通信的js文件中的几个模块。
愿有人给我提供简单的例子我该怎么做?
答案 0 :(得分:4)
我想知道如何将我的大模块分成几个相互通信的js文件中的几个模块。
当然,您可以使用多个模块并将其绑定,如下例所示:
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。两个控制器
多控制器方法可以分割业务逻辑并使代码更清晰
第3。两个js文件中的一个控制器
您希望以这种方式实现(因为我们不了解您的项目目标)
例如:
<强> 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) {
/*...*/
});
答案 1 :(得分:1)
我认为您应该关注the official Angular tutorial以了解依赖注入和AngularJS中可用的各种类型的组件。这将为您提供如何将代码库分成多个层的概述。
一小组最佳实践:
在AngularJs中查看this site有关正确搭建脚手架的详细信息。