使用 ui-sref 传递数据属性

Passing data attributes with ui-sref

我想从 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'
    });

我想要 imgNameimgDesc 进入控制器。我已经检查了 $state 但在其中找不到。有什么办法吗?

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

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

我们准备通过那些

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

并且控制器可以请求 $stateParams 两者都可用 (如果如上所述通过)

使用参数,

Html

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

控制器

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