我正在为我的应用程序围绕 Angular Material UI 创建一个“包装器”库,如本文所述:Should you wrap your UI components article
这个想法几乎是有一点抽象级别,这将使编写标准 UI 功能变得更容易,向 UI 开发人员隐藏底层实现的细节,并且可以轻松地重构大量应用程序 UX 而无需经过大量代码。
我坚持的一件事是试图包装没有自己的专用标签但绑定(bind)到现有 HTML 标签的组件,例如 MatButton
绑定(bind)到 <button mat-button>
的组件
我想创建一个对应的组件<button my-button>
其行为应与 <button mat-button mat-primary mat-raised-button>
完全相同.这在 Angular 1 中是非常微不足道的,但对于新的 Angular,我完全迷失了......请帮忙!
这是一个代码示例:Stack Blitz Button Example
最佳答案
创建了一个 fork stackblitz为你。
我在这里使用ViewContainerRef
完全替换组件的初始 html 标签并使用我们的 Material 按钮创建新的 Root View 。
请小心,因为在这种情况下,更改检测将变为手动。
关于angular - 在 Angular 中包装 html 标签绑定(bind)的 UI 组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59017404/