有没有办法在ui-router中的url开头具有可选属性?如果是这样,怎么办?
我想实现以下目标:
.state('events',{ url: '(/city:)?/events/:id' ... })
因此, “城市” 将是可选的。
谢谢您的任何投入。
有两个单独的路由指向同一状态可能是一个坏习惯,但是没有什么可以阻止您创建使用相同分辨率/控制器/模板的两个不同状态。
$stateProvider .state('state1', { url: "/:city/events/:id", templateUrl: "partials/events.html", controller: eventsCtrl }) .state('state2', { url: "/events/:id", templateUrl: "partials/events.html", controller: eventsCtrl }); function eventsCtrl($scope){ // shared controller }
同样,这可能是不好的做法,但我想不出更好的解决方案