2013-03-27 20 views
0

我已經(非常)最近潛入Angular,但我正在努力設計我的佈局。AngularJS:多個視圖的「全局」菜單按鈕

對於我的網站我創建了一個包含輸入欄和一些按鈕的菜單。這個想法是,與任何一個按鈕組合的輸入字段應該爲一個功能提供服務。因此,對於viewA來說,輸入字段只能用作搜索欄。如果用戶點擊其中一個按鈕,則應該使用輸入字段值作爲在另一個viewB中創建新項目的基礎。

該搜索功能對viewA很好,但我無法使按鈕切換視圖。我懷疑(或知道,但不知道如何解決它),這是因爲提到的按鈕在視圖外(ng-view),因此沒有控制器。

我搜索了「多個控制器/視圖」,其中的建議與使用包含功能或創建服務不同。問題是我不知道最好的做法是什麼,或者甚至對我的情況來說甚至是必要的。

回答

1

菜單+輸入欄是另一個視圖。它應該有自己的控制器。根據路線– $on($routeChangeSuccess, ...) –您可以使用ng-switch在該視圖中適當的HTML /模板之間切換。如果你的模板很大,你可以在ng-switch指令中使用ng-include。否則,請不要打擾,並且只需在每個ng-switch-when內嵌HTML。

有關如何因此使用$ routeChangeSuccess(但不NG-開關)爲例,看看https://stackoverflow.com/a/11910904/215945

+0

我花了一段時間來理解你提出的解決方案,但終於得到了它的工作。謝謝。 – 2013-03-27 19:54:06

+0

@KGChristensen,我試着稍微更新答案。下一次,如果我太簡單,請隨時索要更多說明或示例。 – 2013-03-27 20:10:28

+0

太好了。再次感謝 :) – 2013-03-27 23:53:29