AngularJS:多个视图的“全局”菜单按钮

时间:2013-03-27 01:16:03

标签: model-view-controller angularjs

我(最近)潜入Angular,但我对如何设计我的布局感到苦苦挣扎。

对于我的网站,我创建了一个包含输入字段和一些按钮的菜单。这个想法是输入字段与任一按钮组合应该为一个功能提供服务。所以对于viewA来说,输入字段应该只作为搜索栏。但是,如果用户单击其中一个按钮,则应将输入字段值用作在另一个viewB中创建新项目的基础。

搜索功能非常适合viewA,但我无法使按钮切换视图。我怀疑(或知道,但不知道如何解决它)这是因为提到的按钮在视图外(ng-view),因此没有控制器。

我一直在寻找“多个控制器/视图”,其中的建议与使用include函数或创建服务有所不同。问题是我不知道最佳做法是什么,或者我的情况是否有必要。

1 个答案:

答案 0 :(得分:1)

菜单+输入字段是另一个视图。它应该有自己的控制器。根据路线 - $on($routeChangeSuccess, ...) - 您可以使用ng-switch在该视图中切换相应的HTML /模板。如果模板很大,可以在ng-switch指令中使用ng-include。否则不要打扰,并且只是在每个ng-switch-when内嵌入HTML。

有关如何使用$ routeChangeSuccess(但不是ng-switch)的示例,请参阅https://stackoverflow.com/a/11910904/215945