【问题标题】:How to pass multiple parameters but show only one using uiRouter?如何使用uiRouter传递多个参数但只显示一个?
【发布时间】:2017-05-10 21:13:24
【问题描述】:
问题:我想在我的网址中传递参数,例如/{{title}}/{{id}},标题是内容的标题,id是mongooDB ID 在登陆到下一个状态之前已解决(通过从服务器获取)。我想隐藏 id 并且只想在 url 中显示 title 。
预期输出: /xyzTitle
电流输出 /xyzTitle/dasd123123askdasdas
我也想传递ID,但我不想显示它。
【问题讨论】:
标签:
angularjs
mongoose
angular-ui-router
【解决方案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 文档,它可能会更清楚地说明这个棘手的问题。