【问题标题】:AngularJS: Different callbacks on clicking okay on the confirmation dialogAngularJS:在确认对话框上单击确定时的不同回调
【发布时间】:2020-12-17 01:33:29
【问题描述】:

我没有经常使用 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 代码中的参数传递,并根据该参数值将您的条件放入该函数中。希望你能得到我...
  • 是的 Kushal,我明白你的意思,非常感谢。

标签: javascript angularjs angular angularjs-directive


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-31
    • 1970-01-01
    • 1970-01-01
    • 2015-10-19
    • 1970-01-01
    • 2015-12-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多