我想将一些额外的数据从 ui-sref 传递到 Controller 中。我正在循环一个 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 进入 Controller 。我已经检查过 $state 但它没有在里面找到。有什么办法吗?

最佳答案

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

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

我们准备通过那些
ui-sref="main.imgDesc({imgid: img.id, imageData: img })"

并且 Controller 可以要求 $stateParams 两者都可用(如果按上述方式传递)

关于angularjs - 使用 ui-sref 传递数据属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40381950/

10-10 01:22