我是Angular的新手,并试图实现一个模态.关闭/解除模态时遇到问题 – 当我单击取消按钮时,没有任何反应.
这是控制器代码:
这是控制器代码:
angular.module('navApp') // Passing the $modal to controller as dependency .controller('HomeCtrl',['$scope','$uibModal',function ($scope,$uibModal) { $scope.title = "Hello,Angm-Generator!"; $scope.open = function () { var modalInstance = $uibModal.open({ templateUrl: 'myModalContent.html',controller: 'ModalCtrl' }); }; }]) .controller('ModalCtrl',$uibModalInstance) { // Added some content to Modal using $scope $scope.content = "ModalCtrl,Yeah!" // Add cancel button $scope.cancel = function () { $uibModalInstance.dismiss('cancel'); }; })
这是实际模态的模板视图
<!-- Modal Script --> <script type="text/ng-template" id="myModalContent.html"> <div class="modal-header"> <button type="button" class="close" datadismiss="modal" aria-hidden="true">×</button> <h3 class="modal-title">Hello from Modal!</h3> </div> <div class="modal-body"> Modal Content from: <b>{{ content }}</b> </div> <div class="modal-footer"> <button class="btn btn-danger" ngclick="cancel()">Cancel</button> </div> </script>
即使单击模态右上角的十字也不会关闭模态.有任何想法吗?谢谢:)
解决方法
是不是ng-click =“cancel()”而不是ngclick?
另外我不认为范围是绑定到控制器,我没有测试过这个,但我相信你需要更多的选择:
var modalInstance = $uibModal.open({ templateUrl: 'myModalContent.html',controller: 'ModalCtrl',controllerAs: '$mCtrl',bindToController: true });
然后只需更新您的模板:
ng-click="$mCtrl.cancel()"