我有$mdDialog
一个单击弹出的窗口,然后根据用户的选择,另一个窗口打开,其中包含一个选择列表,以便用户可以选择一年中的特定月份。我需要从第二个窗口中捕获本月选择,并在 AJAX 请求中进一步使用它。问题是我只找到了解决方案,说你需要在里面设置承诺$mdDialog.show()
,然后在$mdDialog.hide()
.
问题是我在嵌套控制器中有 $mdDialog.hide() ,所以我觉得我正试图把马车放在马的前面。这是我的控制器的一部分,您可以在其中看到带有.hide()
操作的嵌套控制器。当然它现在返回“未定义”......
angular
.module('demoApp')
.controller('AppController', ['$scope', '$mdDialog', function($scope, $mdDialog){
$scope.showConfirm = function(event) {
$mdDialog.show({
targetEvent: event,
templateUrl: 'templates/mainDialogTemplate.html',
controller: function($scope, $mdDialog, employee){
$scope.employee = employee;
$scope.closeDialog = function(){$mdDialog.hide();}
$scope.pickDate = function(){$mdDialog.show({
templateUrl: 'templates/calendarDialogTemplate.html',
parent: angular.element(document.body),
//clickOutsideToClose: true,
controller: function($scope, $mdDialog) {
$scope.cancel = function(){$mdDialog.cancel();}
$scope.months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
$scope.closeDialog = function(){$mdDialog.hide(answer)};
}
}).then(function(answer){
console.log(answer);
})
}