2016-09-28 40 views
0

文件結構:伍,包括不是NG-視圖模板裏面起作用

--app 
    --partials 
    --navbar.html 
--submit 
    --submission.html 
index.html 

我有一個NG-包括我submissions.html內:

<ng-include src="'app/partials/navbar.html'" ></ng-include>

什麼也不顯示。但是,如果我將相同的內容粘貼到index.html中,則會顯示導航欄。我認爲這可能與目前的html文件有關,所以我嘗試src="'../partials/navbar.html'"也沒有運氣。

是否有什麼特別的事情需要做,讓ng-include在ng-view模板中顯示?

類似的問題沒有幫助:

+0

確定模板正在加載?你在路由中使用html5mode嗎? – charlietfl

+0

@charlietfl當'ng-include'位於'ng-view'內時,'ng-include'中的模板甚至不會加載。 –

+0

但模板將在沒有它的情況下加載?如果這真的很奇怪......但聽起來更像是路線失敗。你可以添加一個路由更改錯誤處理程序,以找出 – charlietfl

回答

0

角找不到目錄路徑 「應用程序」。嘗試在開頭添加一個波浪線:

<ng-include src="'app/partials/navbar.html'" ></ng-include> 

應該是:

<ng-include src="'~/app/partials/navbar.html'" ></ng-include> 
+0

戴夫,雙引號是必要的ng-include與路徑一起工作,因爲我以字符串形式傳遞路徑。沒有它,它根本無法在任何地方工作。我已經提到過,這是行得通的,只是不在'ng-view'裏面' –

+0

這是不正確的'src'在這種情況下讀取一個表達式......需要額外的引號來表示字符串 – charlietfl

+0

哦,呃,你說得對。那麼我的第二個猜測是Angular doc不能「看見」App路徑。索引可以看到它,因爲這兩個文件是在同一級別,但也許你需要一個領先的Tilde或Slash:

0

問題竟然是在谷歌瀏覽我的瀏覽器緩存。直到我手動清除緩存後,ng-include才顯示在HTML中。每次在該文件中更改或移動ng-include時,我必須清除緩存,如果它位於index.html中,則不需要。

經過一些測試後,此問題在Edge中不存在,但它確實存在於Firefox中。

Chrome版本:53.0.2785.116 m