Angularjs使用url重定向到state

时间:2015-05-06 19:01:47

标签: javascript angularjs angular-ui-router url-routing

通常如果我想将用户发送到特定状态,我只会这样做:

$state.go('state_name');
$state.transitionTo('state_name');

这通常会将他们带到/state_name。但是,我有一个特定的状态,我试图将它们发送到其中有一个变量,如/state_name/:variable,我似乎无法弄清楚如何将它们重定向到/state_name/whatever_I_choose

任何人都可以帮我解决这个问题吗?我也在使用ui-router

2 个答案:

答案 0 :(得分:5)

您应该使用$state.go内部呼叫$state.transitionTo

对于在路径中传递变量,您可以使用带有值的params列表传递json。从重定向时传递值的控制器更改$scope.variable

$state.go('state_name',{variable: $scope.variable });

答案 1 :(得分:0)

变量通常在url中,而不是在州名中,如此

$stateProvider
 .state('state_name', {
    url: "/state_name/:Id",
    templateUrl: 'state_name.html',
    controller: stateCtrl
})