我在我的angular应用中使用了$uibmodel。我需要在一个模式中打开一个新模式。因为我需要在我的一个控制器中同时注入'$uibModal‘和'$uibModalInstance’。这个控制器看起来有点像这样。一个控制器中的'$uibModal‘和'$uibModalInstance’
baseController.$inject = ['$uibModal', '$uibModalInstance'];
function baseController($uibModal, $uibModalInstance) {
self.ok = function () {
$uibModalInstance.close(self.selected.item);
};
self.cancel = function () {
$uibModalInstance.dismiss('cancel');
};现在的问题是,我在控制台中遇到了错误
Unknown provider: $uibModalInstanceProvider <- $uibModalInstance我知道这是因为在一个控制器中同时注入了'$uibModal‘和'$uibModalInstance’,但我必须这样做。由于控制台中的那个错误,我无法关闭第二个模式。告诉我有没有办法在一个控制器中同时使用‘$uibModal’和'$uibModalInstance‘。我必须把这两个都放在一个控制器里。
发布于 2016-05-30 20:15:04
做这样的事-
var modalInstance = $uibModal.open({
animation: true,
templateUrl: '../Template/dummy.tpl.html',
controller: function($scope, $uibModalInstance) {
$scope.Delete = function () {
alert('Delete')
};
$scope.Cancel = function () {
alert('Cancel')
$uibModalInstance.dismiss('cancel');
};
},
});这只不过是绕过了创建一个新的控制器。如果您使用的是严格di模式,我将建议您创建一个变量,并将控制器函数放在那里,然后像这样引用它。
......
controller: dummyController;
......
var dummyController = function($scope, $uibModalInstance){
.......
}https://stackoverflow.com/questions/37525171
复制相似问题