我希望从ui-sref
向控制器传递一些额外的数据。我正在循环一个json对象并将数据添加到sref:<a data-imgName="{{ img.name }}" data-imgDesc="{{ img.desc }}" ui-sref="main.imgDesc({imgid: '{{ img.id }}'})">
$stateProvider.state('main.imgDesc', {
url: '/image/:imgid',
templateUrl: '...',
controller: 'ImageDescCtrl'
});
我希望imgName
和imgDesc
进入控制器。我已经检查了$state
,但没有找到它。有什么办法吗?
答案 0 :(得分:8)
我们应该使用params : {}
来声明任何类型的参数,甚至是复杂的对象:
$stateProvider.state('main.imgDesc', {
url: '/image/:imgid',
templateUrl: '...',
controller: 'ImageDescCtrl',
params: {
imageData: null,
}
});
我们准备通过那些
ui-sref="main.imgDesc({imgid: img.id, imageData: img })"
并且控制器可以要求$stateParams
两者都可用(如果通过,如上所述)
答案 1 :(得分:1)
使用参数,
HTML
ui-sref="main.img({imageId: img.id, imageData: img })"
控制器
$stateProvider.state('main.img', {
url: '/image/:imgid',
templateUrl: '...',
controller: 'ImageDescCtrl',
params: {
imgData: null,
}
});