如何传递多个参数,但只使用uiRouter显示一个?

时间:2016-12-26 11:37:16

标签: angularjs mongoose angular-ui-router

问题:我想在我的网址中传递参数,例如/{{title}}/{{id}}标题为内容标题,ID为 mongooDB ID < / strong>在登陆到下一个状态之前解决(通过从服务器GET)。我想隐藏 ID ,并希望在网址中仅显示标题

预期输出: / xyzTitle

当前输出 / xyzTitle / dasd123123askdasdas

我也希望传递ID,但我不想展示它。

1 个答案:

答案 0 :(得分:2)

州的一个例子:

.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中具有标题,但也允许您传递id参数。看看URL Routing的ui-router文档,它可能会对这个棘手的问题有所了解。