为什么我的页面在model.close()之后重新加载?
问题描述:
我有以下问题:为什么我的页面在model.close()之后重新加载?
1-当我的模型打开后,点击'取消'关闭它,它重新加载页面。当我点击'确定'时,我的'删除' - 请求不会被发送到服务器(它不会收到任何东西),并且页面被重新加载。我也没有重定向到我打算去的页面。
HTML
<div>
<input type="button" class="btn btn-primary" ng-click="suppr()" value="ok"/>
<input type="button" class="btn btn-default" ng-click="annulSupp()" value="cancel" />
</div>
文件JS
(function() {
'use strict';
var progress = angular.module('demret.progress', ['ui.bootstrap.modal']);
progress.directive('progressDem', function() {
return {
restrict : 'E',
templateUrl : "progress/progress.html",
controller : [ '$scope', '$http', 'Demande', '$window', '$modal', function($scope, $http, Demande, $window, $modal) {
// TODO
$scope.supprimerDemande = function() {
var urlSetDem = cfg.urlDDRRest + 'demande/' + Demande.get().id;
var config = {
method : 'DELETE',
url : urlSetDem,
jsonExpected : true
};
$http(config).then(function(http) {
$window.location.href = cfg.urlPortail;
})['catch'](function(http) {
$scope.errT= 'Une erreur technique';
})['finally'](function() {
});
}
// ==========================================
// open fenetre modal
// ==========================================
$scope.modalSuppressionDem = function(size) {
// déclaration de la fenetre
var modalInstance = $modal.open({
animation : true,
templateUrl : 'progress/suppression-modal.html',
controller : 'ModalSuppressionDem',
size : size,
backdrop : 'static',
resolve : {
functionSupp : function() {
return $scope.supprimerDemande;
}
}
});
modalInstance.result.then(function() {
// close
});
};
} ]
}
});
// Controleur de la fenetre modale
progress.controller('ModalSuppressionDem', [ '$scope', '$modalInstance', 'functionSupp', function($scope, $modalInstance, functionSupp) {
$scope.suppr = function() {
functionSupp();
$modalInstance.close();
};
$scope.annulSupp = function() {
$modalInstance.close();
};
} ]);
})();
config.js
(function() {
'use strict';
window.cfg = {
urlDDRRest : '/TOTO-rs/api/',
urlPortail : '/TOTO/',
};
})();
有谁知道为什么这个Happe的NS?
预先感谢您!
答
试试这个:
更换
<input type="button" class="btn btn-default" ng-click="annulSupp()" value="cancel" />
与
<input type="button" class="btn btn-default" ng-click="annulSupp($event)" value="cancel" />
和替换$ scope.annulSupp()函数与下面的代码
$scope.annulSupp = function(event) {
event.preventDefault();
$modalInstance.close();
};
这个逻辑有点奇怪的,我闻到范围蔓延..但为什么不在HTML中使用'data-dismiss =“modal”'而不是关闭函数? – Pogrindis
即时通讯不是专家在角度:(,给我一个解决方案或示例tks –