如果模态附加到同一范围,如何从函数中关闭 $uibModal?
How to close $uibModal from a function if modal is attached to the same scope?
我在尝试关闭由 $uibModal.open()
创建的模式 window 时收到 close is not a function
我已将问题减少到最少的代码:
var app = angular.module('demoApp', ['ui.bootstrap']);
app.controller('DemoContrller', function($scope, $uibModal) {
var vm = this;
var myModalInstance = null;
vm.openModal = function() {
myModalInstance = $uibModal.open({
animation: true,
templateUrl: 'modalTemplate.html',
scope: $scope // important - want to reuse current scope and controller and not create new
}).result.then(function() {
console.log('fully closed with successful validation');
});
};
vm.onApplyModal = function() {
console.log('doing some validation and closing only if succeeded');
// ??? close is not a function, myModalInstance is a Promise
console.log(myModalInstance);
myModalInstance.close();
};
})
请在这里查看我的 Plunk:Cannot close uibmodal from a function in the same scope
myModalInstance = $uibModal.open({
animation: true,
templateUrl: 'modalTemplate.html',
scope: $scope // important - want to reuse current scope and controller and not create new
}).result.then(function() {
console.log('fully closed with successful validation');
});
先赋值变量,再链:
myModalInstance = $uibModal.open({
animation: true,
templateUrl: 'modalTemplate.html',
scope: $scope // important - want to reuse current scope and controller and not create new
});
myModalInstance .result.then(function() {
console.log('fully closed with successful validation');
});
我在尝试关闭由 $uibModal.open()
close is not a function
我已将问题减少到最少的代码:
var app = angular.module('demoApp', ['ui.bootstrap']);
app.controller('DemoContrller', function($scope, $uibModal) {
var vm = this;
var myModalInstance = null;
vm.openModal = function() {
myModalInstance = $uibModal.open({
animation: true,
templateUrl: 'modalTemplate.html',
scope: $scope // important - want to reuse current scope and controller and not create new
}).result.then(function() {
console.log('fully closed with successful validation');
});
};
vm.onApplyModal = function() {
console.log('doing some validation and closing only if succeeded');
// ??? close is not a function, myModalInstance is a Promise
console.log(myModalInstance);
myModalInstance.close();
};
})
请在这里查看我的 Plunk:Cannot close uibmodal from a function in the same scope
myModalInstance = $uibModal.open({
animation: true,
templateUrl: 'modalTemplate.html',
scope: $scope // important - want to reuse current scope and controller and not create new
}).result.then(function() {
console.log('fully closed with successful validation');
});
先赋值变量,再链:
myModalInstance = $uibModal.open({
animation: true,
templateUrl: 'modalTemplate.html',
scope: $scope // important - want to reuse current scope and controller and not create new
});
myModalInstance .result.then(function() {
console.log('fully closed with successful validation');
});