AngularJS中的多层深度链接

时间:2012-07-07 18:39:14

标签: javascript partials angularjs deep-linking layered-navigation

我正在尝试使用AngularJS在我的模板部分中放置多个控制器 - 我遇到的问题是第一层的问题,直接链接到这些子控制器及其相关的片段。

一个例子是用户帐户的管理页面,比如说我在用户列表上,想要从列表的密码更改用户,我点击他们的更改密码按钮,并希望将用户重定向到{ {1}}而不是#/ManageUsers/ChangePassword/?UserID=<uid here>或类似,但Angular文档(或缺乏文档)表明这是不可能的,或者不是'The Angular Way'...

由于我的团队希望将这些独立的控制器保留为部分控制器,因此使用Angular有一种非黑客的方法吗?

2 个答案:

答案 0 :(得分:2)

最近发表了一篇博客文章,介绍了解决与AngularJS深层链接的一种可行方法。它具有父/子实现风格,如果您只需要更改子项的内容,则不需要更新父部分,这使得它非常整洁。

就在这里:http://www.bennadel.com/blog/2441-Nested-Views-Routing-And-Deep-Linking-With-AngularJS.htm

答案 1 :(得分:1)

为什么不指向#/ManageUsers/ChangePassword/:UserID?您可以从$ routeParams获取UserID。请参阅$route页面上的示例。

您甚至可以创建网址#/ManageUsers/:OrganizationID/:SectorId/:UserID/ChangePassword/Confirmation

使用的#/ManageUsers/10/2/32/ChangePassword/Confirmation之类的路由