[英]Sharing Modules in AngularJs
目前,我們為angularjs應用設置了一個設置,其中有一個名為“ app.js”的文件,其中包含
var app = angular.module('VolumeOutputOptions', [
'someDirectiveModule',
'someServiceModule'
]);
除了在諸如someDirectiveModule之類的應用之間共享的代碼外,幾乎每個類都依賴於此全局變量。 有時會導致添加新依賴項的問題,但是事實證明,在沒有包含該依賴項的上下文中使用了“ app”。 此外,全局變量也很糟糕。
有沒有更好的方法可以在您應用的所有指令和控制器之間共享單個模塊? 例如,
angular.module('VolumeOutputOptions').directive(...);
angular.module('VolumeOutputOptions').controller(...);
是兩個具有相同名稱的獨立模塊,還是angular將它們檢測並合並?
如果你用像
angular.module('VolumeOutputOptions').directive(...);
angular.module('VolumeOutputOptions').controller(...);
要使用這樣的模塊,必須先使用angular.module('VolumeOutputOptions', [])
來創建模塊,然后再使用它。 然后將它們都分配給相同的模塊VolumeOutputOptions
。
如果您使用第二個依賴數組參數定義諸如angular.module('moduleName', [])
類的模塊angular.module('moduleName', [])
則僅angular創建一個新模塊。 如果沒有傳遞數組參數,則angular將引用之前聲明的具有相同名稱的模塊。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.