Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用角质材料,可以关闭特定的对话框吗?

使用角质材料,可以关闭特定的对话框吗?
EN

Stack Overflow用户
提问于 2016-09-02 04:04:22
回答 2查看 2.4K关注 0票数 3

我有一个AngularJS应用程序使用的角度材料UI框架。

该应用程序具有不同的显示对话框的机制(例如,错误和加载旋转器),最好只关闭在某些情况下特定选择的对话框,例如,当AJAX请求完成获取数据时,我希望我的加载旋转器关闭,但不要关闭任何可能是抓取结果的错误对话框。

我在文档和代码中所能找到的是不一致的(尽管代码应该会赢得争论):

  • 文档说只有最新的可以关闭,并有一个可选的响应。
  • 密码说最新的,一些最新的或所有的打开可以关闭,有一个可选的原因
  • 文档中的示例说可以关闭一个特定的对话框,其中一个标志表示如何或为什么

我已经制作了一个演示我的意图,作为传染性软疣病毒 --以下是重点:

代码语言:javascript
运行
AI代码解释
复制
var dialog = {},
    promise = {};

function showDialogs(sourceEvent) {
    showDialog(sourceEvent, "one");
    showDialog(sourceEvent, "two");
}

function showDialog(sourceEvent, id) {
    dialog[id] = $mdDialog.alert({...});

    promise[id] = $mdDialog.show(dialog[id]);
    promise[id].finally(function() {
        dialog[id] = undefined;
    });
}

function closeDialogs() {
    $mdDialog.hide("Closed all for a reason", {closeAll: true});
}

function closeDialogLatest() {
    $mdDialog.hide("Closed from the outside");
}

function closeDialogReason() {
    $mdDialog.hide("Closed with a reason");
}

function closeDialogSpecific(id) {
    $mdDialog.hide(dialog[id], "finished");
}

编辑:

我知道代码总是赢得关于发生什么的争论,但我并不完全确定这是我所看到的正确的代码。

我更新了示例,以更好地测试和说明我的观点和问题。如代码所示,这显示了要工作的东西。

我真正想要的是,是否仍有可能以某种我还没有想到的其他方式实现我的目标。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-30 04:20:11

使用$mdPanel而不是$mdDialog,我能够达到预期的效果;我用分叉的演示来反映变化--以下是重点:

代码语言:javascript
运行
AI代码解释
复制
var dialog = {};

function showDialogs() {
    showDialog("one");
    showDialog("two");
}

function showDialog(id) {
    var config = {...};

    $mdPanel.open(config)
        .then(function(panelRef) {
            dialog[id] = panelRef;
        });
}

function closeDialogs() {
    var id;

    for(id in dialog) {
        closeDialogSpecific(id, "Closed all for a reason");
    }
}

function closeDialogSpecific(id, reason) {
    var message = reason || "finished: " + id;

    if(!dialog.hasOwnProperty(id) || !angular.isObject(dialog[id])) {
        return;
    }

    if(dialog[id] && dialog[id].close) {
        dialog[id].close()
            .then(function() {
                vm.feedback = message;
            });
        dialog[id] = undefined;
    }
}
票数 4
EN

Stack Overflow用户

发布于 2016-09-02 04:29:20

我建议两个或更多的对话在同一时间是不理想的,可能不是推荐的谷歌材料设计。

引用文档

谨慎地使用对话框,因为它们会被打断。

你说:

当AJAX请求完成获取数据时,我希望我的加载旋转器关闭,但不希望任何可能是抓取结果的错误对话框关闭。

我在这里的解决方案是有一个对话框,它最初显示的是旋转器。一旦请求完成,就用任何消息替换旋转器。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39292006

复制
相关文章
在MacOSX机器上设置JenkinsCI服务器
Jenkins Wiki提供了用于Jenkins安装的选项列表,但没有提及Mac OSX。尽管它提到了Docker,但我只听说过有关Docker的好消息。在本文中,我将坚持使用自制软件。在继续操作之前您需要在Mac上安装和配置JDK。
DevOps云学堂
2020/07/24
2.5K0
Archiva 仓库提示文件没有找到
如果提示的是 404 的话,提示你的 Archiva 在可能的源仓库中已经进行了搜索,但是没有找到。
HoneyMoose
2020/04/13
6750
Archiva 仓库提示文件没有找到
Ubuntu 上使用 ADB 备份 Android 数据
adb全称Android Debug Bridge,是Android SDK中的一个工具, 使用adb可以直接操作管理Android模拟器或者真实的Andriod设备,就是起到调试桥的作用。
会长君
2023/04/25
7380
在mac上使用adb与fastboot
要在OSX上管理Android手机上的文件,需要下载安装这个官方工具http://www.android.com/filetransfer/
老高的技术博客
2022/12/27
2.6K0
在mac上使用adb与fastboot
在 MAC OS X 安装 ADB (Android调试桥)
什么是 ADB? Android调试桥( adb )是一个开发工具,帮助安卓设备和个人计算机之间的通信。 这种通信大多是在USB电缆下进行,但是也支持Wi-Fi连接。 adb 还可被用来与电脑上运行的
昨天50还没用完
2018/06/29
9.3K0
ADB 学习(4):adb shell (上)
安卓系统是基于Linux系统开发,也就支持常见的Linux的命令,这些命令都保存在手机 “/system/bin” 的目录下,我们连接手机就可以使用命令 adb shell 来执行这些命令。
Mokwing
2020/09/08
2.6K0
软件测试|Appium WebView 技术原理
混合应用测试或微信小程序测试,都会涉及到 WebView 组件,这节内容将分析一下 WebView 的技术原理。首先通过日志分析查看 Appium 的运行过程。
霍格沃兹测试开发Muller老师
2023/01/09
8260
android 调试 adb
一、包名和界面名的概念 1.包名(package):决定程序的唯一(不是应用名) 2.界面名(activty):粗浅的一个界面,对应着一个界面
bosh123
2020/08/02
7400
自动化测试微信小程序
Mac 环境下搭建 appium 1 安装homebrew 首先命令行检查是否安装:
赵云龙龙
2019/09/25
2.8K0
自动化测试微信小程序
MacOSX 安装 TensorFlow
TensorFlow 安装的前提是系统安装了 Python 2.5 或更高版本,教程中的例子是以 Python 3.6(Anaconda 3 版)为基础设计的。为了安装 TensorFlow,首先确保你已经安装了 Anaconda。可以从网址(https://www.anaconda.com/distribution/#download-section)中下载并安装适用于 Windows/macOS 或 Linux 的 Anaconda。
叉叉敌
2020/02/14
9310
MacOSX 安装 TensorFlow
使用adb logcat命令显示Android设备上的Log日志
实现这个功能的前提是使用adb命令,所以必须要有手机和电脑,还有安装adb,adb程序是很小的几M就可以。
全栈程序员站长
2022/06/28
12.9K0
使用adb logcat命令显示Android设备上的Log日志
Android 调试桥 (adb)
adb 包含在 Android SDK 平台工具软件包中。您可以使用 SDK 管理器下载此软件包,该管理器会将其安装在 android_sdk/platform-tools/ 下。
云深无际
2021/04/14
5.4K0
Android 调试桥 (adb)
Android 常见adb命令
C:\Users\laiyu>adb push d:\\WiFi.apk /mnt/sdcard/
授客
2019/09/11
7910
Start an Android App by ADB
To be more geek,I began to start an Android App by using adb.Thanks to Google.It’s possible and powerful. The tool we use to make it is ADB(Android Debug Tool),For more detailed use please visit http://developer.android.com/tools/help/adb.html#shellcommands Actually What I use here is
技术小黑屋
2018/09/04
1K0
安卓安全测试框架--drozer环境搭建
随着app的质量要求不断的越来越高,跟随着我们的技术的不断进步,对于安全测试的需求也是逐渐增多,那么针对app,我们如何做安全测试呢,工欲善其事必先利其器。我们这节课看下安卓安全测试工具--drozer的环境搭建。入门第一步就是环境搭建。
雷子
2021/03/15
1.5K0
安卓安全测试框架--drozer环境搭建
Android性能稳定性测试工具mobileperf
天猫团队开源的PC Android性能稳定性测试工具,可以收集Android性能数据: cpu 内存 流畅度fps logcat日志 流量 进程线程数 进程启动日志,mobileperf也支持原生monkey test。那么我们先来看看如何安装它。
雷子
2021/03/15
2.4K0
Android性能稳定性测试工具mobileperf
自动化-Appium-环境搭建-Android(Java版)
JDK(Java Development Kit)是Java语言的软件开发工具包,主要用于移动设备、嵌入式设备上的Java应用程序。JDK是整个Java开发的核心,它包含了Java的运行环境,Java工具和Java基础的类库。
wangmcn
2022/07/25
5.2K0
自动化-Appium-环境搭建-Android(Java版)
Android ADB命令大全
adb shell cat /sys/class/net/wlan0/address
软件测试君
2019/06/03
1.2K0
Android adb命令大全
一般在安装的时候先敲出adb install然后直接将apk文件拖到MS Dos窗口中即可,然后点击回车即可自动安装。
程序员飞飞
2020/02/27
1.4K0
点击加载更多

相似问题

在MacOSX上安装Android/Eclipse - adb不工作

30

在访问adb时没有找到Android findstr

15

‘`adb’文件没有显示在Android 11仿真程序上

14

Android演播室-无法在ubuntu上找到adb

23

未找到Android SDK文件: adb -但在哪个adb中可见

151
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档