javascript - Angular js分离到不同js文件中的不同模块

标签 javascript angularjs module angularjs-directive

<分区>

我创建了一个支持拖放元素的 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/

相关文章:

azure - 我是否必须在 powershell runbook (azure) 中导入模块?

javascript - 在 JS 模块中公开对象方法时如何管理上下文?

javascript - 并行运行 Express 服务和 Angular 6 应用程序

javascript - AngularJS:显示加载器图像直到加载数据

python - 是否可以导入已编译的 python 文件?

angularjs - 来自 UI 延迟更新的数据 - ng-repeat(ngAnimate 问题)

angularjs - 防止$anchorScroll修改url

javascript - 如何从多个元素中删除事件

javascript - 无法设置子对象的未定义属性

javascript - 使用箭头键移动背景