在AngularJS/bootstrap中传递对象给模态对话框
passing objects to modal dialog in AngularJS/bootstrap
我试图通过一个对象到一个模态对话框在bootstrap/angularJS使用下面的代码。我这样做的风格在AngularJS UI引导模态是无法从作用域执行函数给出的答案。当模态表单应该从调用editGroup()打开时,我得到以下错误:
错误:[$injector:unpr]未知提供商:selGroupProvider <- selGroup
var EditGroupModalController = function ($scope, $modalInstance, selGroup) {
$scope.user = $sessionStorage.user;
$scope.selGroup = selGroup;
$scope.closeModal = function () {
$modalInstance.close();
};
};
$scope.editGroup = function (selGroup) { // "selGroup" receives the current Group object from $scope.groupList[]
$modal.open({
templateUrl: 'app/views/administration/advanced/editgroup.html',
controller: ['$scope', '$modalInstance','$modal','$sessionStorage','advancedService','selGroup', EditGroupModalController],
size: 'lg',
windowTemplateUrl:'app/views/partials/modaltemplatedraggable.html',
backdrop:'static',
resolve: {
item: function () {
return selGroup;
}
}
});
};
这个错误的官方描述在这里;然而,我不明白为什么我收到这个错误。如有任何帮助,将不胜感激。
- 你的控制器的依赖项列表与控制器的功能定义不匹配:在
$modal.open
中你列出了六个依赖项,而在功能中只有三个存在。 - 依赖项由
resolve
键注入-在您的情况下,键是item
。
为了使其工作而对代码进行必要的更改:
取代(1)
var EditGroupModalController = function ($scope, $modalInstance, selGroup)
var EditGroupModalController = function ($scope, $modalInstance, $modal, $sessionStorage, advancedService, selGroup)
和替换(2)
resolve: {
item: function () {
resolve: {
selGroup: function () {
你应该在解析中将变量命名为'selGroup'而不是'item',这样它才能被正确注入。
同样,声明的依赖项的名称应该与函数定义匹配。我做了这个简单的演示。
angular.module('test', ['ui.bootstrap']).controller('TestController', function($scope, $modal) {
var sel = {name: "A group"};
var EditGroupModalController = function($scope, $modalInstance, selGroup) {
$scope.selGroup = selGroup;
$scope.closeModal = function() {
$modalInstance.close();
};
};
$scope.editGroup = function(selGroup) { // "selGroup" receives the current Group object from $scope.groupList[]
$modal.open({
template: '<div>Test {{selGroup.name}}</div>',
controller: ['$scope', '$modalInstance', 'selGroup', EditGroupModalController],
size: 'lg',
backdrop: 'static',
resolve: {
selGroup: function() {
return sel;
}
}
});
};
});
http://plnkr.co/edit/ec1PjkDZtf4yqINONnX5?p =预览
相关文章:
- 我想使用模态通过php文件发送邮件,并且我希望在提交关闭后关闭pop
- 打开一个模态并将其链接到AngularJS中的指令
- SemanticUI模态not onDeny/onApprove事件未激发
- 有没有比在app.js上绑定模块名称更好的方法来动态加载视图模型和视图以显示模态
- 如何通过所选索引(AngularJS)在模态弹出窗口中显示数据
- 包含数据库中相关信息的开放模态
- bootstrap消除模态并显示另一个模态
- 在angularJS中使用模态窗口时,在控制器之间共享对象数组
- 通过AngularJS中的模态编辑对象-使用临时对象
- 如何在模态视图中访问对象
- AngularJS模态窗口数据/对象流
- AngularJS 模态对话框表单对象在控制器中未定义
- DatePicker 在完整视图中提供对象不支持属性或方法“日期选择器”,但不支持模态形式的属性或方法
- 如何将JSON对象传递到通过模态窗口调用的PHP文件
- 使用模态jhipster编辑对象
- 模态对话框(showModalDialog)中的对象don'我不尊重ie8中100%的宽度.变通办法
- Rails的Form_for在模态中用于许多对象
- 引导模态作为jquery对象
- Angular-UI模态错误:期望的响应包含一个对象,但得到一个数组
- 在AngularJS/bootstrap中传递对象给模态对话框