[英]When use module to register controllers
我有兩個功能代碼來向Angular注冊控制器。
第一個代碼是:
在app.js中:
var app = angular.module('myapp', ['...']);
app.config(...
$stateProvider
.state('first', {
url: '/first',
templateUrl: 'first.html',
controller: 'myController1'
}).state('second', {
url: '/second',
templateUrl: 'second.html',
controller: 'myController2'
});
);
在myControllers.js中
app.controller('myController1', function(){
...
});
app.controller('myController2', function(){
...
});
第二個代碼是:
在app.js中:
var app = angular.module('myapp', ['...', 'myControllers']);
app.config(...
$stateProvider
.state('first', {
url: '/first',
templateUrl: 'first.html',
controller: 'myController1'
}).state('second', {
url: '/second',
templateUrl: 'second.html',
controller: 'myController2'
});
);
在myControllers.js中
var myControllers = angular.module('myControllers', []);
myControllers.controller('myController1', function(){
...
});
myControllers.controller('myController2', function(){
...
});
最好的解決方案是什么? 為什么要使用模塊包含幾個控制器? 謝謝。
Angular中的模塊是一種將相關代碼邏輯打包成塊的方法。 這些塊可以稍后組合(請考慮其他語言的第三方庫)。
通常,這是將外部Angular代碼(來自github等)包含到項目中的方式。 外部項目將創建一個模塊,供您用作模塊依賴項。 這是angular.module('myApp', ['myDependency'])
方式。
這是一項可選功能,但在大型(或自然隔離)項目中很有用。
如果您不需要模塊。 我建議您使用更簡單的(第一個)解決方案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.