我是AngularJS的新手,而且 - 因爲它非常複雜,而且對我來說這種方法是新的,所以我有點困惑。我來自「經典」背景(服務器端模板語言[如Yii,Django,Smarty] +一些jQuery使事情有點動態)。AngularJS:全球菜單提供商,服務或rootScope的正確位置?
比方說,我有一個菜單欄(引導的NavBar,或其他任何東西) - 這住的主網頁外內容的元素,像這樣:
<body>
<div id="menubar">
... <!-- menu content -->
</div>
<div class="container">
<div ng-view></div>
</div>
</body>
現在,我想使菜單有點動態,即添加或刪除控制器內的一些菜單項。 使用服務器端框架&他們的模板系統,例如Yii - 我只需要一個BaseController
類和$menuItems
變量,並且每次都在menuBar
中呈現它,而所有控制器將繼承BaseController
,以便他們可以修改項目。
另外,我需要一個函數來處理位於菜單欄內的searchForm
。它應該住在哪裏?
什麼是類似這樣的角度方式?到目前爲止,我一直在考慮創建自定義service
或延伸$rootScope
。
你見過示例應用程序嗎? https://github.com/IgorMinar/foodme – vittore
@vittore謝謝,我不知道這一個。我不知道我可以用ng-controller和ng-view一起使用:)將它與一些共享服務結合起來應該可以做到。將它作爲答覆而不是評論,我會將其標記爲答案。 – migajek
[angular module中的全局通信:事件總線或中介模式/服務]的可能重複(http://stackoverflow.com/questions/27356299/global-communication-in-angular-module-event-bus-or-mediator-模式服務) –