javascript - 如何在 Angular2 中创建对话服务

标签 javascript angular

在 Angular 2 中,似乎所有 DOM 操作都是由组件或指令执行的。我已经习惯了 Angular 1,但是在 Angular 1 中,创建和管理自己的 DOM 元素的某些服务相当普遍;最值得注意的是对话。

在过去,例如可以创建 Angular 1 服务 ConfirmationService具有功能 Confirm()返回了 Promise<bool>这向用户显示了一个对话框,可以按是或否,这解决了 promise 。

这些对话服务(例如 UI Bootstrap ModalNgDialog )通常通过注入(inject) $document 来工作, $compile$parse服务并动态创建和注入(inject) DOM 元素。

我很难找到推荐的 Angular 2 方法来创建这样的服务。如果可能的话,我想避免必须创建 ConfirmationComponent必须添加到任何需要确认的组件(部分原因是它也可以是需要确认的另一服务,而确认只是一个有用的例子)

无论如何,一些帮助/指点将不胜感激。提前致谢。

最佳答案

如果您可以依赖 sweetalert2 ,对话服务变得非常简单:

import { Injectable } from '@angular/core';
import { default as swal } from 'sweetalert2';

@Injectable()
export class DialogService {
    confirm(title: string, message: string) {
        return swal({
            title: title,
            text: message,
            type: 'warning',
            showCancelButton: true
        });
    };
}

关于javascript - 如何在 Angular2 中创建对话服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39634230/

相关文章:

c# - 服务器端和客户端方法

javascript - 如何在 .html 模板 Angular 中的 div 上定义多种样式

javascript - 无法在 Angular2 中进行简单的 http GET 调用

javascript - 单击按钮时更改 img

javascript - Express JS 以 JSON 格式显示所有事件

javascript - 在 react 中访问全局变量

javascript - 如何在浏览器历史记录中找到当前位置索引

node.js - 从 TypeScript 初始化 Firebase Admin SDK 失败

javascript - 这行在 Angular 语法中是什么?

javascript - 将自执行函数导入 typescript 中的另一个类