将函数传递给角度ui引导程序模态对话框的最佳方法是什么?我在模态控制器中创建了一个调用$ scope。$ parent.myMethod()的方法,如下所示:

$scope.isChosen = function(concept) {
    return $scope.$parent.isChosen(concept);
};


这行得通,但我宁愿以类似于将函数传递给指令的方式将函数传递给模式。我尝试使用模式“ resolve”参数执行此操作,但未成功。是否可以为模态解析函数,如果可以,语法是什么?如果不可能,除了访问父作用域之外,还有其他方法可以做到吗?

编辑:这是一个尝试将方法传递给模态的笨拙工具,虽然有点简化,但代表了我正在尝试做的事情:http://plnkr.co/edit/eCjbZP

最佳答案

在定义模态时,必须像下面这样解决:

  // here is the controller where you want to trigger the modal to open
 $scope.openModal = function () {
     // somewhere in your html , you may click on a button to envoke openModal()
   var modalInstance = $modal.open({
      templateUrl: 'myModalContent.html',
      controller: ModalInstanceCtrl,
      size: size,
      resolve: {
        isChosen: function () {
          return $scope.isChosen;
        }
     }
   });
};


然后,在您的modalCtr中,您可以像这样注入isChosen:

  app.controller('modalCtrl',function($scope,isChosen){
     // now you can use your isChosen function however you want
  });

07-24 09:38