Javascript angularjs可选参数的ui路由器

Javascript angularjs可选参数的ui路由器,javascript,angularjs,angular-ui-router,Javascript,Angularjs,Angular Ui Router,上面是我使用ui路由的路由配置。当我访问localhost:80/signup/something时,它就起作用了 但是当我只访问localhost:80/注册时,我也希望它能工作,我该怎么做?该url有另一个状态: .state('signup', { url:'/app/signup/:ref', templateUrl: 'partials/signup.html', }) 这将使您的localhost:80/注册按您的要求工作。您的配置是正确

上面是我使用ui路由的路由配置。当我访问localhost:80/signup/something时,它就起作用了


但是当我只访问localhost:80/注册时,我也希望它能工作,我该怎么做?

该url有另一个状态:

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

这将使您的localhost:80/注册按您的要求工作。

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

您还可以使用壁球:

挤压配置当前参数值与默认值相同时,默认参数值在URL中的表示方式


更多信息请参见此处:

哇,我从未在文档中提到过这一点。我认为只有ref应该在url中有冒号。
.state('another-state', {
  url: '/app/signup',
  templateUrl: 'partials/signup2.html'
})
.state('signup', {
    url: '/app/signup/:ref',
    templateUrl: 'partials/signup.html',
    params: {
        ref: {squash: true, value: null}
    }
})