簡體   English   中英

父模塊指令可以在控制器等子模塊中使用嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM