javascript - 是否可以将函数传递给动态模态?

标签 javascript angularjs twitter-bootstrap

我有一个带有动态标题和消息的模态,我还想在测试时为其提供动态功能;该函数在模态显示之前被触发,有没有办法不触发该函数,而是将其放入作用域 var 中,以便可以在可重用模态中使用?

动态模态:

<div class="modal fade" id="confirmationModal-reusable" tabindex="-1" role="dialog" aria-labelledby="confirmationTitle2">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
        <h4 class="modal-title" id="confirmationTitle2">{{reusableTitle}}</h4>
      </div>
      <div class="modal-body">
        <p>{{reusableMessage}}</p>
      </div>
      <div class="modal-footer bootstrap-iso">
        <button type="button" ng-click="{{reusableFunction}}" class="btn btn-danger" data-dismiss="modal">Yes</button>
        <button type="button" class="btn btn-success" data-dismiss="modal">No</button>
      </div>
    </div>
  </div>
</div>

JavaScript:

$scope.Refresh = function(){
    //prompt for refresh, all unsaved items will be lost.
    $scope.reusableTitle = "Are you sure?";
    $scope.reusableMessage = "Are you sure you want to abandon changes and refresh from server?";
    $scope.reusableFunction = $scope.init();//how can I pass this function to the ng-click on my reusable modal?
    $("#confirmationModal-reusable").modal('show');
};

$scope.init = function() {
    //gets json from server...
};

最佳答案

你可以这样:

<button ng-click="reusableFunction('init')">Click this button</button>

然后在 Controller 中执行如下操作:

$scope.reusableFunction = function (functionName){
    if(angular.isFunction($scope[functionName])){
       $scope[functionName]();
    }
}

$scope.init = function(){
    //do your stuff
}

这里是有关 isFunction 调用 https://docs.angularjs.org/api/ng/function/angular.isFunction 的更多信息

关于javascript - 是否可以将函数传递给动态模态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41624664/

相关文章:

AngularJS UI 路由器处理 404s

html - 我如何制作响应式 Bootstrap 元素

html - 如何让我的图像相对于左侧的动态 div 在中心垂直对齐?

javascript - 公共(public)文件夹在 Meteor 中不起作用

javascript - Jquery拖放图像但原始/源图像丢失

javascript - angularjs 二维数组 ng-repeat 无法正常工作

javascript - 导航到其中的页面()

javascript - 如何在 knockout.js 中实现可计算的可观察量

javascript - 从 php 和 javascript 中的另一个下拉列表填充下拉列表

javascript - 在html5中单击按钮/链接时如何将一个页面导航到另一个页面