Javascript ';中环';在JS中删除或删除多个版本前确认

Javascript ';中环';在JS中删除或删除多个版本前确认,javascript,html,angularjs,Javascript,Html,Angularjs,我正在尝试向当前的删除功能添加功能。我遇到的问题是,当我单击“删除”时,它会在没有提示的情况下立即删除。我一直在尝试使用来自的答案添加提示功能 我的问题是,实现删除功能最有效的方法是什么,目前我有4个可以删除的实例,它们都有类似的代码: function removeDoom(doom) { doomResource.delete({ id: doom.doomId }) .$promise .then(function (resp

我正在尝试向当前的删除功能添加功能。我遇到的问题是,当我单击“删除”时,它会在没有提示的情况下立即删除。我一直在尝试使用来自的答案添加提示功能

我的问题是,实现删除功能最有效的方法是什么,目前我有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,它不会删除,而是首先抛出一个错误,声明“实例正在被应用程序使用,无法删除”有没有可能实现一个包含规则的解决方案来考虑这一点?

要实现“中心”删除功能,您必须使一个服务

(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模式

在这个回调函数中写下

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

不过,如果您有任何疑问,您可以明确询问。

要实现“中心”删除功能,您必须创建一个如下服务

(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模式

在这个回调函数中写下

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模态,您可以询问用户是否确定要删除,如果用户按“是”,它将被删除。我们使用这样的$scope.modalInstance=ModalService.openModal($scope,'Update Target',contactObject.addAsTargetMSG+'
是否确实要更新目标详细信息?','Yes','Cancel',modalCallBack);但是在这种情况下,我们为modalBefore提供服务,在它删除之前,它会要求用户确认他们想要删除吗?然后,在确认删除后,或者在模态说“确定吗?”之前,它什么时候检查是否存在依赖项?是的,使用uib模态,您可以询问用户是否确定要删除,如果用户按“是”,它将被删除。我们使用这样的$scope.modalInstance=ModalService.openModal($scope,'Update Target',contactObject.addAsTargetMSG+'
是否确实要更新目标详细信息?','Yes','Cancel',modalCallBack);但在这方面,我们为莫代尔提供服务