1

コントローラーからモーダルポップアップを呼び出しています。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 を配置すると、ダイアログ コントローラーにデータが表示されませんが、複数回表示および非表示にすることはできます。

4

1 に答える 1