Android   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了javascript – AngularJS材料 – 对话框关闭使用电话“后退”按钮大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

溢出!

我是第一次构建Angular Material站点,我似乎遇到了对话框功能的问题.我可以让盒子显示关闭,除了在移动设备上.即,当用户按下电话上的“清除”或“后退按钮”时.执行此操作(或单击浏览器上的后退按钮)时,它对对话框没有影响.它仍在视野中并等待输入.按ESC键将其关闭.打电话的任何人本能地认为他们可以清除它,我认为他们应该这样做.我尝试了各种各样的方法,要么不起作用我只是没有正确实现它们.所以,这里..

控制器:

'use Strict'; 
app.controller('NavCtrl', function ($scope, $mddialog) {    
$scope.itworked = "Angular successful";
var dialogContent = ' \
    <md-content> \
      <div class="diagtest">Content</div> \
        <p class="awesome"><a href="#/" ng-click="hide()">This link works</a></p> \
        <p><a href="#/portfolio" ng-click="hide()">This link also works</a></p> \
        <p>filler</p> \
    </md-content> \
';
var noForm = '<md-dialog id="navDialog">' + dialogContent + '</md-dialog>';
var formAround = '<form ng-submit="hide()"><md-dialog>' + dialogContent + '</md-dialog></form>';
var formInside = '<md-dialog><form ng-submit="hide()">' + dialogContent + '</form></md-dialog>';

function makeDialog(tmpl) {
    return function(ev) {
        $mddialog.show({
            template: tmpl,
            targetEvent: ev,
            controller: 'DialogController'
        });
    };
}
$scope.dialogNoForm = makeDialog(noForm);
$scope.dialogFormAround = makeDialog(formAround); \\ This is for future use
$scope.dialogFormInside = makeDialog(formInsidE); \\ so is this...
});
app.controller('DialogController', function($scope, $mddialog) {
$scope.hide = function() {
    $mddialog.hide($scope.participant);
};
$scope.cancel = function() {
    $mddialog.cancel();
};
});

任何人都可以建议我愿意尝试.

我尝试过以下方法

setCancellable(true)

还尝试使用“导航”技巧关闭对话框,如果按下后退按钮,但它只是不起作用.

您可以在官方文档站点上看到具有SAME功能的示例.如果选中对话框,则可以看到它们的功能完全相同.

https://material.angularjs.org/#/demo/material.components.dialog

它们的写法略有不同,但它们在桌面和手机上的行为与我的相同.

提前感谢任何能够轻松的人!我很感激!

解决方法:

我知道答案有点晚了.

@L_197_19@同样的问题,并能够通过点击路由事件来解决它.路由更改时,关闭mddialog

示例代码. app是应用程序启动时注册的角度应用程序代码

function appRun($rootScope, $mddialog) {

    $rootScope.$on('$stateChangesuccess',
        function (event, toState, toParams, fromStatE) {

            //close any open dialogs
            $mddialog.cancel();
        });

}

app.run(['$rootScope', '$mddialog', appRun]);

干杯

大佬总结

以上是大佬教程为你收集整理的javascript – AngularJS材料 – 对话框关闭使用电话“后退”按钮全部内容,希望文章能够帮你解决javascript – AngularJS材料 – 对话框关闭使用电话“后退”按钮所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: