我一直在使用Angular和Angular Material。让我感到困惑的一件事是,只需要创建一个简单的对话框就需要编写多少样板代码。
该对话框需要在组件中定义,如果未在同一文件中使用,则添加到模块的条目声明中。对话框本身需要注入MatDialogRef,因此您可以在关闭对话框时传递数据。您需要将MatDialog注入到打开对话框的主要组件中。您需要调用其open函数来打开对话框并将值显式传递给组件。您可能需要阅读教程才能开始使用它。
它运行良好,但是与其他实现相比,它似乎太复杂了。例如,在PrimeNG(Angular的组件库)中,您可以定义如下对话框:
<p-dialog header="Title" [(visible)]="display">
Content
</p-dialog>
您有一个变量来控制对话框的可见性。任何人都知道一点Angular都可以开始使用而无需学习。
所以我的问题是:为什么Angular材料想以这种方式实现?它有什么样的优势?是效率还是它为您提供了实现复杂功能的更大灵活性?