在 Angular 2 中,似乎所有 DOM 操作都是由组件或指令执行的。我已经习惯了 Angular 1,但是在 Angular 1 中,创建和管理自己的 DOM 元素的某些服务相当普遍;最值得注意的是对话。
在过去,例如可以创建 Angular 1 服务 ConfirmationService
具有功能 Confirm()
返回了 Promise<bool>
这向用户显示了一个对话框,可以按是或否,这解决了 promise 。
这些对话服务(例如 UI Bootstrap Modal 或 NgDialog )通常通过注入(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/