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

Javascript 是否可以将函数传递给动态模态?,javascript,angularjs,twitter-bootstrap,Javascript,Angularjs,Twitter Bootstrap,我有一个带有动态标题和消息的模态,我还想在测试它时为它提供一个动态函数;函数在显示模式之前被激发,有没有办法不激发该函数,而是将其放入scope变量中,以便在可重用模式中使用 动态模式: <div class="modal fade" id="confirmationModal-reusable" tabindex="-1" role="dialog" aria-labelledby="confirmationTitle2"> <div class="modal-dialo

我有一个带有动态标题和消息的模态,我还想在测试它时为它提供一个动态函数;函数在显示模式之前被激发,有没有办法不激发该函数,而是将其放入scope变量中,以便在可重用模式中使用

动态模式:

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

我想你唯一要做的就是这样

<button type="button" ng-click="reusableFunction()" class="btn btn-danger" data-dismiss="modal">Yes</button>

您可以这样做:

<button ng-click="reusableFunction('init')">Click this button</button>
$scope.reusableFunction = function (functionName){
    if(angular.isFunction($scope[functionName])){
       $scope[functionName]();
    }
}

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

这里有一些关于
isFunction
调用的更多信息

如果我这样做了,那么函数是不可重用的,我想在这种情况下传递
init()
,也许下次传递
process()
danceAround()
-但也许我可以做
可重用函数({{actualFunctionIwantToCall})
然后在那里有一个
开关
来调用正确的函数。。。如果没有其他方法来实现我想要的,你可以重新定义
$scope.reusableFunction
并分配新函数我用
$scope.reusableFunction=function(reusableParam)
尝试了
$scope.reusableFunction=function(func){switch(func){case“init()”:$scope.init();break;}
可以工作,但感觉脏,这意味着每次我想调用一个新函数时,我都必须将它添加到我的
开关中,我不喜欢这样,坚持并希望得到更好的答案。这更像我想要的,谢谢。
$scope.reusableFunction = function (functionName){
    if(angular.isFunction($scope[functionName])){
       $scope[functionName]();
    }
}

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