【问题标题】:Angularjs redirect to state using a urlAngularjs 使用 url 重定向到状态
【发布时间】:2015-07-17 02:26:34
【问题描述】:
通常,如果我想将用户发送到特定状态,我会这样做:
$state.go('state_name');
$state.transitionTo('state_name');
这通常会将他们带到/state_name。但是,我有一个特殊的状态,我试图将它们发送到其中有一个变量,例如 /state_name/:variable,我似乎无法弄清楚如何将它们重定向到 /state_name/whatever_I_choose。
谁能帮我解决这个问题?我也在使用ui-router。
【问题讨论】:
标签:
javascript
angularjs
angular-ui-router
url-routing
【解决方案1】:
你应该使用$state.go,它在内部调用$state.transitionTo
对于在路由中传递变量,您可以传递带有params 列表的json 值。 $scope.variable 由在重定向时传递值的控制器更改。
$state.go('state_name',{variable: $scope.variable });
【解决方案2】:
变量通常在 url 中而不是在状态名称中,像这样
$stateProvider
.state('state_name', {
url: "/state_name/:Id",
templateUrl: 'state_name.html',
controller: stateCtrl
})