Javascript 关闭模式
Javascript 关闭模式,javascript,angularjs,modal-dialog,Javascript,Angularjs,Modal Dialog,我在尝试与angularjs关闭模态时遇到了困难。 我要做的是在触发事件时打开一个简单模式,在模式内执行一些操作,然后确认或中止操作。 第一个意见很好,但当我点击“中止”按钮关闭模式时,编译器说close()不是一个函数。 我认为这是一个实例问题,所以我创建了一个实例,并为其分配了open()和close()方法,但没有任何更改 以下是JS代码: angular.module("docAcquire.controllers") .controller('HomeController', ['$s
我在尝试与angularjs关闭模态时遇到了困难。
我要做的是在触发事件时打开一个简单模式,在模式内执行一些操作,然后确认或中止操作。
第一个意见很好,但当我点击“中止”按钮关闭模式时,编译器说close()不是一个函数。
我认为这是一个实例问题,所以我创建了一个实例,并为其分配了open()和close()方法,但没有任何更改
以下是JS代码:
angular.module("docAcquire.controllers")
.controller('HomeController', ['$scope', '$modal', function ($scope, $modal) {
$scope.modalInstance = $modal;
$scope.openDoc = function() {
$scope.modalInstance = $modal.open({
templateUrl: 'partials/modals/Doc.html',
controller: '',
size : 'lg',
backdrop: 'static',
keyboard: false,
resolve: {}
});
};
$scope.abortOperation = function() {
$scope.modalInstance.close();
};
}
我做错了什么
编辑:如果你要否决这个问题,至少要有足够的男子气概来解释为什么…你没有在控制器中添加$modalInstance。 有两种方法可以关闭modal
$scope.openDoc = function() {
$scope.modalInstance = $modal.open({
templateUrl: 'partials/modals/Doc.html',
size : 'lg',
backdrop: 'static',
keyboard: false,
resolve: {},
controller: ['$scope', '$modalInstance',
function($scope, $modalInstance){
//First Way
$scope.abortOperation = function() {
$modalInstance.close();
};
//Second Way
$scope.abortOperation = function() {
$modalInstance.dismiss('cancel');
};
}]});
}
尝试删除
$scope.modalInstance=$modal
@Tushar删除它将导致调用未定义的对象…您没有在控制器中添加$modalInstance,这就是它显示错误的原因。您需要为它添加控制器并向该控制器注入$modalInstance服务。使用该服务,您可以关闭modal$modal.open函数返回不同的东西您可以使用它来解析来自modal的承诺,或者在modal关闭后采取操作…这两个函数都不起作用。它们都会返回与我现在得到的错误相同的错误(未定义的函数)在模态控制器中添加$modalinance,然后再试一次(我不是说如果没有证据它就不能工作;)那为什么要让你投我的票呢。应该是工作。参见模态示例。