我正在尝试为当前的删除功能添加功能。我遇到的问题是当我点击删除时,它会立即删除而不会提示。我一直在尝试使用this question的答案添加提示功能。
我遇到的问题是实现删除功能的最有效方法,目前我有4个可以删除的实例,它们都有类似的代码:
function removeDoom(doom) {
doomResource.delete({ id: doom.doomId })
.$promise
.then(function (response) {
if (response.success) {
logger.success("Doom has been Removed", "Success");
$state.go("dashboard.doomPage");
getDooms();
}
else if (!response.success) {
logger.error("Error", response.message);
}
})
.catch(function (response) {
vm.error = exception.catcher("Error", response);
});
}
实现一个可以被所有4个实例使用的删除函数比在.js文件中使用单独的删除函数更好吗?如果我实现了一个“中央”删除功能,那么这对我使用以下按钮的HTML方面有何影响呢?
<a class="btn btn-primary btn-xs glyphicon glyphicon-remove" bs-tooltip="{'title':'Remove Doom'}" ng-click="vm.removeDoom(doom)"></a>
我实现4个实例的原因是其中一些实例,它检查是否有任何依赖关系链接到该实例,如果为true则不删除但首先抛出一个错误,指出“实例正在使用一个应用程序,不能删除。“是否有可能实施一个带有规则的解决方案来解决这个问题?
答案 0 :(得分:2)
实施中央&#39;删除功能你必须做一个像
这样的服务(function() {
angular.module('module name')
.service('serviceName', serviceName);
function serviceName (
dependency which you wanted for function like $state
) {
this.removeDoom = removeDoom;
function removeDoom(doom) {
doomResource.delete({ id: doom.doomId })
.$promise
.then(function (response) {
if (response.success) {
logger.success("Doom has been Removed", "Success");
$state.go("dashboard.doomPage");
getDooms();
}
else if (!response.success) {
logger.error("Error", response.message);
}
})
.catch(function (response) {
error = exception.catcher("Error", response);
});
}
}
})();
并且为了实现提示,请使用uib模态从https://angular-ui.github.io/bootstrap/获取参考。
在那个回调函数中写下这个
doomResource.delete({ id: doom.doomId })
.$promise
.then(function (response) {
if (response.success) {
logger.success("Doom has been Removed", "Success");
$state.go("dashboard.doomPage");
getDooms();
}
else if (!response.success) {
logger.error("Error", response.message);
}
})
.catch(function (response) {
error = exception.catcher("Error", response);
});
但是,如果你有任何疑问,你可以肯定地问。