我是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-模式服务) –