以角度包装html标签绑定的UI组件

问题描述 投票:0回答:1

我正在为我的应用程序围绕Angular Material UI创建一个“包装”库,如本文所述:Should you wrap your UI components article

几乎所有的想法是具有一些抽象级别,这将使编写标准UI功能变得更加容易,向UI开发人员隐藏底层实现的细节,并使得无需进行大量代码即可轻松重构大量应用UX成为可能。

我一直坚持的一件事是尝试包装没有自己专用标签但绑定到现有HTML标签的组件,例如MatButton组件绑定到<button mat-button>

我想创建一个相应的组件<button my-button>,其行为应与<button mat-button mat-primary mat-raised-button>完全相同。在Angular 1中,这是微不足道的,但是对于新的Angular,我完全迷失了……请帮助!

这里是代码示例:Stack Blitz Button Example

angular angular-material angular-material2 angular-components
1个回答
0
投票

为您创建了一个分叉的stackblitz。在这里,我正在使用ViewContainerRef完全替换组件的初始html标签,并使用我们的材质按钮创建新的根视图。请注意,因为在这种情况下,更改检测将成为手动操作。

© www.soinside.com 2019 - 2024. All rights reserved.