uj-router of angularjs可选参数

时间:2016-09-12 07:30:01

标签: javascript angularjs angular-ui-router

.state('signup', {
        url:'/app/signup/:ref',
        templateUrl: 'partials/signup.html',
      })

以上是我使用ui-route的路由配置。它在我访问localhost:80/signup/something

时有效

但是当我访问localhost:80/signup时我也想让它工作,我该怎么做?

2 个答案:

答案 0 :(得分:2)

您的配置正确,参数可以是可选的。

您还可以使用squash

.state('signup', {
    url: '/app/signup/:ref',
    templateUrl: 'partials/signup.html',
    params: {
        ref: {squash: true, value: null}
    }
})

squash配置当前参数值与默认值相同时,URL中如何表示默认参数值

在此处查看更多内容:Angular ui.router, Creating an Optional First Path Param

答案 1 :(得分:0)

你有另一个有该网址的州:

.state('another-state', {
  url: '/app/signup',
  templateUrl: 'partials/signup2.html'
})

这应该使你的localhost:80 /注册按你的需要工作。