1

在我的应用程序中,我有一个跨页面/视图一致的菜单,以及一个显示每个主页/视图的不同链接(到更多嵌套子页面)的子菜单。我不确定如何更改子菜单。现在,我在 中同时拥有菜单和子菜单body,以及一个 ng-view 元素。

首先,我想我将为子菜单制作一个控制器并循环显示要显示的子页面数组,并随着主页面/视图的变化更新数组。不过,这似乎既麻烦又不直观,因为我必须在这个单独的控制器中为每个页面保留一个子页面列表,而实际上,它们是主页/视图逻辑的一部分,不是吗?再说一次,我已经阅读了有关 Angular ui 路由器及其嵌套视图的实现 - 我是否应该将子菜单作为嵌套视图来处理?

我知道为了看到我的实际代码而哭泣,但我更纠结于如何解决这个问题,而不是如何实现它。在我看来,像每个页面/视图更改子菜单之类的问题必须是一个足够普遍的问题,对于如何解决它有很好的建议。

4

3 回答 3

1

这是个好问题。我认为主要流程使用路线,内部面板使用小部件。创建编译模板的指令。我构建了一个动态小部件,您可以在此处阅读有关它的信息

于 2013-09-29T19:20:43.820 回答
1

我不确定我是否正确理解了您的情况 - 我将假设有一个顶级导航栏,其中每个导航栏项目都有一组子项目(子导航栏)。此外,每个顶级导航栏项目代表一个不同的功能区域,因此每个都有自己的模型。希望这与您的情况相近。鉴于此,我认为您可以为每个顶级导航栏项目(即每个功能区域)设置一个单独的控制器。这些控制器中的每一个都将是您的顶级控制器的子控制器,并且每个控制器都可能有自己的子控制器。换句话说,它可以帮助您根据不同的功能区域来考虑您的应用程序,并为每个区域使用 MVC 模式。这可能更容易推理你的应用程序,更容易编写测试,

我希望这有帮助..

于 2013-09-29T19:38:59.267 回答
0

您可以为每个子菜单使用 ngShow 指令,并使用代码来决定它是否应该显示。您可能需要为每个可能显示或不显示的子菜单设置不同的功能。需要隐藏。

于 2013-09-29T19:25:29.080 回答