我在我的一个控制器中使用uibmodal,并设法将数据传递给模态控制器。 但是,一旦数据在我的模态控制器中传递,我就无法弄清楚如何在模态模板中渲染这些数据。
我的主控制器:
doEdit = function () {
var modalScope = $scope.$new(false);
modalScope.roleModel = self.gridApiRoles.selection.getSelectedRows()[0];
var modalInstance = $uibModal.open({
templateUrl: 'views/dialog.html',
scope: modalScope,
windowTemplateUrl: 'template/flexModal.html',
backdrop: 'static',
resolve: {
roleModelScope: function () {
return modalScope.roleModel;
}
},
controller: ['$scope', '$rootScope', 'roleModelScope', DialogEditController],
controllerAs: 'ctrl'
});
modalScope.modalInstance = modalInstance;
modalInstance.result.then(
function close(result) {
console.info(result);
},
function dismiss() {
console.info("dialog dismissed");
}
);
}
};
我的UibModal控制器:
let DialogEditController = function ($scope, $rootScope, roleModelScope) {
let self = this;
self.$onInit = () => {
initTest();
};
let initTest = () => {
console.log(roleModelScope.name);
};
};
此时,roleModelScope.name已完美传递给模态控制器。
我的模板:
<div class="modal-dialog" style="width:900px; height:750">
<div class="modal-content">
<div class="modal-header bg-info">
</div>
<div class="modal-body">
{{roleModelScope.name}}
</div>
<div class="modal-footer">
</div>
</div>
</div>
我尝试使用ctrl.roleModelScope,但它也没有用。
感谢您的回答。
答案 0 :(得分:1)
在控制器roleModelScope
(上下文)中分配this
值,以便它可以在视图上进行绑定。
另外,Modal
控制器别名为ctrl
,{{ctrl.roleModelScope.name}}
使用{{roleModelScope.name}}
。
<div class="modal-body">
{{ctrl.roleModelScope.name}}
</div>
<强>代码强>
let initTest = () => {
this.roleModelScope = roleModelScope;
console.log(roleModelScope.name);
};