【发布时间】:2014-10-28 03:20:23
【问题描述】:
我需要使用ui-router的ui-sref传递和接收两个参数到我想要转换到的状态。
类似于使用下面的链接使用foo 和bar 参数将状态转换为home:
<a ui-sref="home({foo: 'fooVal', bar: 'barVal'})">Go to home state with foo and bar parameters </a>
在控制器中接收 foo 和 bar 值:
app.controller('SomeController', function($scope, $stateParam) {
//..
var foo = $stateParam.foo; //getting fooVal
var bar = $stateParam.bar; //getting barVal
//..
});
我在控制器中为$stateParam 得到undefined。
有人可以帮助我了解如何完成它吗?
编辑:
.state('home', {
url: '/',
views: {
'': {
templateUrl: 'home.html',
controller: 'MainRootCtrl'
},
'A@home': {
templateUrl: 'a.html',
controller: 'MainCtrl'
},
'B@home': {
templateUrl: 'b.html',
controller: 'SomeController'
}
}
});
【问题讨论】:
-
您还需要在您的路线中设置它们。例如:-
url:'.../home/:foo/:bar -
@PSL:你能在这里举个小例子吗?谢谢。
-
@PSL:谢谢 PSL,有没有其他方法可以让我在控制器中获得这些参数及其值?
-
在你的空白路由中做
'/:foo/:bar': {,或者你也可以设置为查询字符串。
标签: javascript html angularjs angular-ui-router angular-ui