2016-05-18 66 views
3

我是Angular的新手,嘗試實現一個模式。有問題關閉/解散模式 - 當我點擊取消按鈕時,沒有任何反應。 這裏是控制器代碼:Angular Modal - 關閉/解散模式

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', function ($scope, $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">&times;</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> 
</div> 

即使點擊模式的右上角沒有關閉模式交叉的模板視圖。有任何想法嗎?謝謝:)

+4

'ng-click =「$ dismiss()」'是你所需要的 – Phil

+0

這不起作用,錯誤說。$ dismiss()不是函數。只有取消正在爲我工​​作 –

+0

對不起,它實際上工作:))但點擊右上角的十字架仍然沒有關閉模式。 –

回答

1

它應該不是ng-click =「取消()」而不是ngclick

此外,我不認爲範圍被綁定到控制器,我沒有測試過這一點,但我相信你需要一些更多的選擇:

var modalInstance = $uibModal.open({ 
    templateUrl: 'myModalContent.html', 
    controller: 'ModalCtrl', 
    controllerAs: '$mCtrl', 
    bindToController: true 
}); 

然後只需更新您的模板:

ng-click="$mCtrl.cancel()" 
+0

你說'ng-click'是正確的,但是控制器聲明和$ scope的使用沒問題。 – Haymaker87

+0

感謝所有,ng-click使它工作。但增加其他選項似乎會使其停止工作。有趣的是,當我點擊右上角的十字架時,模態仍然沒有關閉。 –

0

如果你想關閉模型,在橫欄點擊的話,你可以使用

<button type="button" class="close" data-dismiss="modal">&times;</button> 

這將按鈕,data-dismiss="modal"將關閉你的模式。