[英]Can parent module directives be used in child modules like controllers?
正如controllers
是模塊“級別”獨立的,並且可以在整個應用程序堆棧中的任何位置使用一樣,我想知道子模塊是否有一種方法可以使用父模塊指令,而不必將它們分配為每個子模塊的依賴項。
我希望指令如何工作的示例(在controller
的視圖中):
angular.module('app.child').config(function($stateProvider) {
$stateProvider.state('child', {
url: '/child',
views: {
'header': {
controller: 'parentController',
templateUrl: 'child.html'
}
}
});
});
angular.module('app').controller('parentController', function () {
console.log('test');
});
所以我想知道的是
angular.module('app', ['app.child']);
angular.module('app.child', ['ui.router']);
也可以寫成
angular.module('app', ['app.child', 'ui.router']);
angular.module('app.child', []);
以某種方式,子模塊仍然可以使用ui.router
。
如果在現有項目中執行此操作,則會收到$injector
錯誤。
就像控制器是模塊“級別”無關的,並且可以在任何地方使用
這是真的,這是您永遠都不應做的事情。 模塊應該是自洽的並且獨立於父模塊-它應該聲明所有必需的依賴關系。
即,如果您有兩個模塊:app和app.child,並且在app.child中的某個位置,您具有: <div ui-sref=...
,那么您的app.child必須依賴ui-router。 (如果不這樣做,它將仍然有效,但是父母可以這樣做-但這並不意味着這是正確的方法)
注意:許多應用程序可以保留在單個模塊中。 您確定需要多個嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.