'中央'在删除之前确认或在JS中使用多个版本

时间:2017-06-02 08:54:52

标签: javascript html angularjs

我正在尝试为当前的删除功能添加功能。我遇到的问题是当我点击删除时,它会立即删除而不会提示。我一直在尝试使用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则不删除但首先抛出一个错误,指出“实例正在使用一个应用程序,不能删除。“是否有可能实施一个带有规则的解决方案来解决这个问题?

1 个答案:

答案 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);
            });

但是,如果你有任何疑问,你可以肯定地问。