2016-09-09 147 views
0

我是比較新的angulerjs但使用的路線,服務,控制器等,我可以開發與出現在它下面的ng-view頁面的導航欄頭一個標準的Web應用程序,即混合靜態和動態元素頭

<body> 

    <header> 
     navbar goes here 
    </header> 

    <div class="content-wrapper" ng-controller="MainController"> 
     <div ng-view></div> 
    </div> 

</body> 

目前,<header>標籤之間出現的所有內容都是完全靜態的,並且不管ng-view中加載的頁面是什麼都不會改變。

我現在需要添加一些項目到基於ng-view中的頁面的上下文。

所以,我將有一個橫跨網站頂部的單個欄(如stackoverflow)。它將包含兩個子元素 - 一個將浮動到左側並且將是靜態的,另一個將浮動到右側,並且其內容將是動態的。

我不確定如何在angularjs做到這一點,因爲我相信一個頁面只能包含一個ng-view

任何意見,將不勝感激

編輯:添加如下解釋:

授予更多的上下文,標題中的其中一個DIV將包含上下文按鈕。例如。如果網站正在顯示產品項目,則標題中的按鈕將爲「編輯」,「刪除」。如果網站正在顯示發票,則標題中的按鈕將爲「添加產品」,「發送發票」。我的標題基本上與Youtube相似,如果右側的按鈕根據顯示的頁面類型發生變化

回答

0

我不完全確定您想要在基於ng-view的標題中設置的內容,如果你剛剛開始,你可能想重新考慮一下這裏的一些結構。不過,一般情況下,您可以將事物嵌入一點,以便訪問MainController的$範圍內的對象:

<body> 

    <div ng-controller="MainController"> 
     <header> 
      {{customHeader}} 
     </header> 
     <div class="content-wrapper"> 
      <div ng-view onload={{customHeader = 'something new'}}></div> 
     </div> 
    </div> 

</body> 
+0

感謝您的回覆。爲了提供更多的上下文,標題中的其中一個DIV將包含上下文按鈕。例如。如果網站正在顯示產品項目,則標題中的按鈕將爲「編輯」,「刪除」。如果網站正在顯示發票,則標題中的按鈕將爲「添加產品」,「發送發票」。如果右側的按鈕基於正在顯示的頁面類型而改變,我的標題基本上與Youtube相似。 –

+0

這就是我在這裏重新思考你的方法的意思。爲什麼頭文件不能成爲你的'ng-view'模板的一部分? –

+0

標題的另一半包含網站的徽標和菜單,兩者都不會改變。因此,將它們放在每個ng-view模板中看起來不太合適。此外,ng-view模板將加載一個動畫,並且我不希望每個頁面更改都會使頭部變爲動畫。 –