溢出!
我第一次构建一个Angular Material网站,似乎在Dialog框功能上遇到了问题。我可以很好地显示和关闭框,除了在移动设备上。也就是说,当用户按下手机上的“清除”或“返回按钮”时。当你这样做(或在浏览器上单击后退按钮),它对对话框没有影响。它保持在视图中等待输入。按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)
我曾尝试使用“导航”技巧,如果按下后退按钮,则关闭对话框,但它并没有起作用。
您可以在官方文档网站上看到具有相同功能的示例。如果您检查对话框,则可以看到它们的功能完全相同。
https://material.angularjs.org/#/demo/material.components.dialog
它们的编写方式有些不同,但在桌面和手机上的表现与我的相同。
感谢任何能提供帮助的人!我非常感激!
$mdDialog.cancel(); });
- vs4vijay