AngularJS:在确认对话框上单击“确定”后的不同回调

问题描述

我没有使用AngularJS,我有一个问题,有多个按钮可以打开同一个确认对话框,但是基于单击哪个按钮(打开的对话框),我需要为每个按钮做一些不同的事情。我们如何在不使用任何反模式的情况下实现这一目标。目前,我在显示对话框之前声明一个方法并更改其定义。

$scope.onClickButton1 = function() {
  $scope.submitDialog = function() {
    //do something specific when submitting for button1
  }
  $scope.showDailog = true;
}

$scope.onClickButton2 = function() {
  $scope.submitDialog = function() {
    //do something specific when submitting for button2
  }
  $scope.showDailog = true;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.5/angular.min.js"></script>

解决方法

HTML:

<button ng-click="onBtn1Click(); openDailog();"> Btn1 </button>
<button ng-click="onBtn2Click(); openDailog();"> Btn2 </button>

控制器:

$scope.onBtn1Click= function(){
   //do something on btn1 click;
}


$scope.onBtn2Click= function(){
   //do something on btn2 click;
}


$scope.openDailog= function(){
   $scoope.showDailog =true;
}