使用Angular的$ location服务根据当前路径显示特定视图

时间:2016-11-22 20:16:49

标签: angularjs angular-directive

对于Angular相当新的并且相当广泛地浏览了这个站点,但我发现的大多数与位置相关的线程都与身份验证和路由有关。

我的问题是: 1)在当前$ location.path()上设置监视的最佳方法是什么,2)根据当前的自定义指令更新视图路径?

我目前正在使用ngView指令更新大部分页面(路由工作正常 - 此处无需更改)。我现在想要创建一个'自定义导航小部件指令',它根据当前路径更新,但不需要进入我的ngView模板(看起来像很多重复的代码)。要清楚 - 没有为自定义导航功能编写任何代码。我正在寻找关于实现这一目标的最佳方法的一些指导以及如何进行粗略概述。

<body>
 <div ng-view></div>
 <div custom-nav-widget-directive></div
</body>

1 个答案:

答案 0 :(得分:0)

我知道你想要一个专注于你建议的方法的答案。但是你可能想看看UI-Router。标准ngRouter的强大第三方替代品。

UI-Router允许 Multiple Named views 。你可以有类似的东西:

<body>
  <div ui-view>
  <div ui-view='nav'>
</body>

div [ui-view ='nav'] 下的所有内容都可以独立于您的页面/应用的其余部分进行更改,而这些内容/应用又可以在 div [ui-view] <下呈现/ strong>即可。这会使您的导航逻辑和模板与应用程序/页面的其余部分区分开来。

一旦我了解它,UI-Router让我减少了对指令的需求。每个路由器状态及其视图都需要自己的配置对象,如普通路由 - 或者指令 - ,控制器,模板等......非常酷。

如果您决定尝试一下,请告诉我,我很乐意帮助启动学习曲线。