根据收到的数据动态添加组件Angular 5

时间:2018-03-09 05:29:32

标签: javascript angular typescript

我确实有这个工作..但我想知道是否有更好的方法...因为我可以看到未来的方式可能会成为一个问题..

基本上我有一个页面可以在页面上引入数据和填充,每次单击“下一步”按钮时数据都会发生变化,因此页面会发生变化..

现在我在组件中设置了一些工具,有时当数据显示tool === true时,我会在页面上显示工具组件,所以我现在如何做到这一点就是这样

<div class="program-item">
    <div class="main">
    <div *ngFor="let asset of item?.fields?.asset" class="program-item_inner">
        <div [innerHTML]="asset.fields.textBlock"></div>

        <!-- tool -->
        <app-tool *ngIf="asset.fields.tools === 'tool'"></app-bmi-tool>
        <button *ngIf="asset.fields.tools == 'BMI Tracker'" class="full-width-btn program-item_next-button" (click)="next(item?.sys.id); child.getBmi();">CALCULATE BMI</button>

    <button *ngIf="item?.fields?.assetType !== 'tool'" class="full-width-btn program-item_next-button" (click)="next(item?.sys.id)">{{(item?.fields?.nextButtonText == null || item?.fields?.nextButtonText == undefined) ? 'NEXT' : item?.fields?.nextButtonText}}</button>
</div>

所以基本上收到数据时检查是否asset.fields.tools === tool然后显示工具组件..这不是一个很好的方法,因为我有一些工具,我将不得不这样做每一个人

我还有其他办法吗?

0 个答案:

没有答案