使用angular的ui-router,是否有办法编写重定向,以便为目标状态填充查询参数。例如,这是我的状态:
.state('me.profile', {
url: '/profile?action',
templateUrl: '/app/components/account/profile/profile.html',
controller: 'profileCtrl',
authenticate: true
})
可以通过查询参数传入特定操作。例如:
examplesite.com/profile?action=editProfile
但是,我希望能够为用户提供漂亮的URL。例如:
examplesite.com/profile/edit
我可以编写一个重定向语句,在该路由上填充所需的查询参数。以下代码当前无法正常工作,因为当用户重定向到目标状态时,查询参数?action=editPayment
会丢失。
$urlRouterProvider.when('/profile/edit', '/profile?action=editProfile');
答案 0 :(得分:1)
取代?action
将其更改为:
url: '/profile/:action',
注入$stateParams
并阅读控制器中的操作
var action = $stateParams.action;