我(最近)潜入Angular,但我对如何设计我的布局感到苦苦挣扎。
对于我的网站,我创建了一个包含输入字段和一些按钮的菜单。这个想法是输入字段与任一按钮组合应该为一个功能提供服务。所以对于viewA来说,输入字段应该只作为搜索栏。但是,如果用户单击其中一个按钮,则应将输入字段值用作在另一个viewB中创建新项目的基础。
搜索功能非常适合viewA,但我无法使按钮切换视图。我怀疑(或知道,但不知道如何解决它)这是因为提到的按钮在视图外(ng-view),因此没有控制器。
我一直在寻找“多个控制器/视图”,其中的建议与使用include函数或创建服务有所不同。问题是我不知道最佳做法是什么,或者我的情况是否有必要。
答案 0 :(得分:1)
菜单+输入字段是另一个视图。它应该有自己的控制器。根据路线 - $on($routeChangeSuccess, ...)
- 您可以使用ng-switch在该视图中切换相应的HTML /模板。如果模板很大,可以在ng-switch指令中使用ng-include。否则不要打扰,并且只是在每个ng-switch-when内嵌入HTML。
有关如何使用$ routeChangeSuccess(但不是ng-switch)的示例,请参阅https://stackoverflow.com/a/11910904/215945