3

我想将一些额外的数据从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,但它没有在里面找到。有什么办法吗?

4

2 回答 2

9

我们应该使用params : {}来声明任何类型的参数,甚至是复杂的对象:

$stateProvider.state('main.imgDesc', {
    url: '/image/:imgid',
    templateUrl: '...',
    controller: 'ImageDescCtrl',
    params: {
       imageData: null,
    }
});

我们已经准备好通过那些

ui-sref="main.imgDesc({imgid: img.id, imageData: img })"

控制器可以询问$stateParams两者在哪里可用(如果按上述方式通过)

于 2016-11-02T14:09:50.207 回答
1

使用参数,

html

ui-sref="main.img({imageId: img.id, imageData: img })"

控制器

$stateProvider.state('main.img', {
url: '/image/:imgid',
templateUrl: '...',
controller: 'ImageDescCtrl',
params: {
   imgData: null,
}
});
于 2016-11-02T14:12:47.920 回答