【问题标题】: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 文档,它可能会更清楚地说明这个棘手的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多