问题描述
我没有使用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;
}