干净的方法添加一些角度组件

时间:2019-05-21 09:09:32

标签: angular

目前我们有类似的东西

UICollectionViewDelegateFlowLayout

我发现这样做很麻烦。但是Angular似乎使人们摆脱了使用typescript(使用ElementRef)动态添加组件的想法。

在这种情况下,使代码更整洁的最佳方法是什么?

  • 编辑:英雄组件完全不同,无法重构为一个组件

1 个答案:

答案 0 :(得分:1)

为了可维护性,最好创建一个通用组件,例如hero-component并为此提供名称作为@Input()。然后,您可以根据组件的类型来更改组件的显示方式/行为,因为大多数英雄都会做类似的事情。

例如

<line-two>
    <div *ngFor="let hero of heroes">
     <hero-component [heroName]="hero.name"></hero-component>
    </div>
<line-two>

heroName内检查hero-component的位置。

希望这会有所帮助:)

编辑: 看看并消化这种设计模式。它应该有助于您的理解。 https://en.wikipedia.org/wiki/Composite_pattern