尝试从“resolve”对象获取数据时。我无法从父组件中找到任何内容。
结构
合作伙伴组成部分
合作伙伴列表组件
结果
父代码
function partnerCtrl($uibModal, get, role, loader, toastr, $translate) { ...
vm.search = () => {
loader.show();
get.searchUser(vm.userId, vm.type).then((res) => {
if (res.data.d.results.length) {
const modalInstance = $uibModal.open({
animation: true,
ariaLabelledBy: 'modal-title',
ariaDescribedBy: 'modal-body',
component: 'partnerList',
size: 'lg',
resolve: {
items() {
return res.data.d.results;
},
},
});
}
子代码
function partnerListCtrl($scope, uiGridConstants) {
const $ctrl = this;
$ctrl.items = this.resolve.items;
this.gridOptions = {...},
],
data: this.resolve.items,
};
...
}
1条答案
按热度按时间cs7cruho1#
items
应该是解析成员中的命名属性请注意,它是一个箭头函数,用于确保
res
仍在范围内。最后,您应该能够将此解析值注入控制器的构造函数中。在本例中,声明控制器时,注入令牌字符串与解析对象中的成员名称相同
"item"
```function partnerListCtrl($scope, uiGridConstants, items) {
const $ctrl = this;
...
}
app.controller("partnerList", ["$scope", "uiGridConstants", "items", partnerListCtrl]);