将函数传递给角度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
});