没有resolve选项,Angularjs ui bootstrap modal不能工作
Angularjs ui bootstrap modal doesn't work without resolve option
我已经创建了一个可重用的组件,但我一直得到问题,如果我不通过解决,这里有什么问题…由于
$scope.open = function () {
var modalInstance = $modal.open({
templateUrl: '../../App/template/commentsModal.html',
size: ''
,
controller: ModalInstanceCtrl,
resolve: {
items: function () {
return 'b';
}
}
});
但如果我删除解析,然后我一直得到[$injector:unpr]未知的提供商:itemsProvider <-项目
items是什么?这是angular内部的东西吗?这是模态控制器:
.controller('ModalInstanceCtrl', function ($scope, $modalInstance) {
$scope.ok = function () {
$modalInstance.close();
};
$scope.cancel = function () {
$modalInstance.dismiss('cancel');
};
})
您需要将项列为您对新控制器的依赖项之一,这就是resolve的目的。
$scope.open = function () {
var modalInstance = $modal.open({
templateUrl: '../../App/template/commentsModal.html',
size: '',
controller: ModalInstanceCtrl,
resolve: {
items: function () {
return 'b';
}
}
});
modalInstance.result.then(function(data) { //make sure you are declaring your promise
confirm(data);
});
};
你不需要声明你的控制器作为你模块的一部分,你可以简单地创建一个对象。
var ModalInstanceCtrl = function ($scope, $modalInstance, *items*) {
$scope.items = items;
$scope.ok = function () {
$modalInstance.close($scope.items);
};
$scope.cancel = function () {
$modalInstance.dismiss('cancel');
};
});
本质上,resolve会将项目发送到你定义的模态控制器,将它赋值给那个局部作用域,然后带着promise返回给你的起始控制器。您可以看到如何获取数据,传递给要更改的模态,并返回新结果并重新绑定到原始控制器。请确保在主控制器之外声明你的模态控制器,并使用此方法传入你需要的任何其他内容。
确保你在主控制器中声明了$modal,在模态控制器中声明了$modalInstance。
相关文章:
- 如何在Bootstrap Modal中为动态点击生成的变量设置jade属性
- Jquery and Bootstrap Modal
- 在Java中显示Bootstrap Modal
- 只有当有AJAX响应时,Bootstrap Modal才会出现
- 在Angular Bootstrap Modal和父控制器之间共享作用域
- Angular 1.5组件中的Angular Bootstrap Modal$uibModalInstance未知提供程
- 修正了在Bootstrap Modal中IE 10与Chrome和Firefox的不同位置
- Bootstrap Modal使背景变黑
- Angular Bootstrap$modal与活动背景元素
- 单击外部时,Twiiter Bootstrap Modal未关闭
- Bootstrap modal赢得't出现
- Jade:在Bootstrap Modal中获取变量
- 正在打开带有锚点标签的Bootstrap Modal
- 将函数绑定到Twitter Bootstrap Modal Ajax Complete
- 通过JavaScript调用Bootstrap modal
- 如何在angular 1.5中将angular component与ui.bootstrap.modal一起使用
- 如何在Bootstrap Modal上使用Vue.js渲染插件jQuery(作为工具提示和Switchery)
- 如何获得Twitter Bootstrap Modal'的invoker元素
- Bootstrap Modal仅显示一次
- Twitter Bootstrap Modal does not appear