コントローラーからモーダルポップアップを呼び出しています。1回目は正常に動作しますが、2回目は表示されません。番組コードはこちら
$scope.showAdvanced = function (ev) {
var scopeVar = $scope;
console.log('$mdDialog');
console.log($mdDialog);
$mdDialog.show({
controller: DialogController,
templateUrl: 'dialog1.tmpl.html',
parent: angular.element(document.body),
scope: $scope,
targetEvent: ev,
clickOutsideToClose: true
}).then(function (result) {
//$scope = $scope.$parent;
console.log($scope);
});
};
これがDialogController内の私の非表示機能です。
$scope.hide = function () {
console.log('hide called');
$mdDialog.hide();
console.log('hide completed');
};
Hide は正常に実行され、現在のスコープを出力する show で定義されたコールバックが続きます。scope : $scope を削除して transclude : true を配置すると、ダイアログ コントローラーにデータが表示されませんが、複数回表示および非表示にすることはできます。