如何使用uiRouter传递多个参数但只显示一个?
Posted
技术标签:
【中文标题】如何使用uiRouter传递多个参数但只显示一个?【英文标题】:How to pass multiple parameters but show only one using uiRouter? 【发布时间】:2017-05-10 21:13:24 【问题描述】:问题:我想在我的网址中传递参数,例如/title/id
,标题是内容的标题,id是mongooDB ID 在登陆到下一个状态之前已解决(通过从服务器获取)。我想隐藏 id 并且只想在 url 中显示 title 。
预期输出: /xyzTitle
电流输出 /xyzTitle/dasd123123askdasdas
我也想传递ID,但我不想显示它。
【问题讨论】:
【参考方案1】:状态示例:
.state('foo',
url: '/xyzTitle/title',
params:
id: null
)
然后你可以像这样使用$state.go()(例如从一个状态移动到另一个状态):
$state.go('foo', title: 'some title', id: 99 );
或者您可以使用ui-sref 在模板中从一种状态移动到另一种状态:
<a ui-sref="foo( title: 'some title', id: 99 )">to foo</a>
无论哪种方式,您都不必在 url 中包含参数。我在顶部给出的状态示例在您请求的 url 中具有标题,但也允许您传递 id 参数。看看URL Routing 的 ui-router 文档,它可能会更清楚地说明这个棘手的问题。
【讨论】:
以上是关于如何使用uiRouter传递多个参数但只显示一个?的主要内容,如果未能解决你的问题,请参考以下文章
AngularJS 组件在 UiRouter 路由更改时监视和显示通知