【问题标题】:AngularJs $mdDialog close disables pageAngularJs $mdDialog 关闭禁用页面
【发布时间】:2019-01-29 13:47:08
【问题描述】:

我在关闭 mdDialog 时遇到问题, 这里是 closePop 我尝试使用 .hide() 函数,但我有同样的问题 { $mdDialog.cancel(); // $mdDialog.hide(); }

当我点击对话框上的关闭按钮时,主视图有点冻结,ng-click 不再起作用,这是模板:`

<!--<div layout="row" class="tab-body room-tab-item" layout-wrap>-->

    <div elem-ready="$ctrl.loadData($ctrl.broadcaster.id)"></div>
<div class="calendar-tab-header"> Click on a date to add it into your time table</div>
<div>Items are displayed in your current time zone.</div>
    <div class="calendar-tab-success">{{$ctrl.success}}</div>
    <div class="calendar-tab-error">{{$ctrl.error}}</div>
    <table class="calendar-tab-my-timetable">
        <thead>
        <tr>
            <th>Date and Hour</th>
        </tr>
        </thead>
    </table>


        <button ng-repeat="schedule in $ctrl.schedules" ng-click="$ctrl.checkIn(schedule.id)">
            <td><div class="calendar-tab-date">{{schedule.date}}</div>
                <div class="calendar-tab-hour">{{schedule.startHour}}:00</div>
            </td>
            <!--<td>{{game.release}}</td>-->
        </button>



</div>

` checkIn 函数只加载模态,第一次单击时它可以工作,但是当我使用关闭模态功能时,它会关闭模态,但我不能再次单击按钮以再次显示模态,我认为它禁用了ng-点击

    $mdDialog.show({
                controllerAs: 'ctrl',
                templateUrl: 'modal.view.html',
                parent: angular.element(document.body),
                // targetEvent: ev,
                clickOutsideToClose: false,
                scope: $scope
            }).then(function (scope) {
            }, function () {});

有人可以帮帮我吗?

【问题讨论】:

  • 可能发生的情况是模态背景层仍然存在并位于页面其余部分的顶部,因此您的点击事件不会级联到按钮元素。尝试设置 clickOutsideToClose: true 并查看如果问题仍然存在。也许是图书馆的错误?
  • 我这样做了,但它不起作用

标签: javascript angularjs modal-dialog freeze mddialog


【解决方案1】:

添加

preserveScope: true

 $mdDialog.show({
                controllerAs: 'ctrl',
                templateUrl: 'modal.view.html',
                parent: angular.element(document.body),
                // targetEvent: ev,
                preserveScope: true,
                clickOutsideToClose: false,
                scope: $scope
            }).then(function (scope) {
            }, function () {});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-06
    • 2020-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-14
    相关资源
    最近更新 更多