Angularjs 使用 url 重定向到状态

Angularjs redirect to state using a url

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

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

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

谁能帮我解决这个问题?我也在用 ui-router

你应该使用 $state.go 内部调用 $state.transitionTo

为了在路由中传递变量,您可以将 json 与 params 列表一起传递,其中包含值。 $scope.variable 由在重定向时传递值的控制器更改。

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

变量通常进入 url 而不是状态名称,像这样

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