2015-06-03 95 views
0

在我app.js文件我有這樣所創建的應用程序:如何在添加指令時多次避免角加載?

angular 
    .module('AngularRails',[ 
     'ngRoute', 
     'templates', 
     'firebase', 
     'mySharedElements',]) 

我試圖像這樣我的觀點一個加載指令:

angular.module("mySharedElements", []).directive('userItem', [function() 

然而,這不起作用?我在Developer Tools中收到一個錯誤,指出Angular attempted to load multiple times因此該選項卡鎖定。我試着解決這個問題,但是從代碼中可以看到添加'mySharedElements',但是這不起作用。從我讀過的各個網站,我都以正確的方式做,所以我很困惑我做錯了什麼,因爲我很明白。

謝謝你的幫助,我很感激。 :)

UPDATE:

我仔細檢查了,我沒有使用NG-應用不止一次。只有當我嘗試去使用該指令的頁面時,纔會出現該錯誤。

我更新app.js文件和指令來這看看有沒有什麼固定它:

app.js:

angular 
    .module('AngularRails',[ 
     'ngRoute', 
     'templates', 
     'firebase',]) 
    .config(function ($routeProvider, $locationProvider) { 
// etc. 

指令:

angular.module("AngularRails").directive('userItem', [function() { 
// etc. 

這固定它。它看起來像我正在遭受這種組合的困擾,並且我在指令中有templateURL錯誤,並且它正在搞砸了一些東西。謝謝!

+0

您是否在模板中多次聲明'ng-app'? –

+0

不,只有當我嘗試去指令所在的頁面時纔會發生。 –

回答

1

angular.module("mySharedElements", [])將創建一個新的應用程序,因爲您將第二個參數傳遞給具有空依賴項的模塊。

如果您已經在代碼的其他地方創建了應用程序,那麼您只需要對其引用即可。將其更改爲angular.module("mySharedElements").directive,那麼它應該沒問題。

但是看看問題Angular attempted to load multiple times中提到的錯誤說明,它看起來像您的頁面上有多個對角度js的引用。嘗試檢查並刪除多個引用。

+0

感謝您的問題。我用回覆更新了我的帖子。 –