angular 4如何从对象渲染动态内容

时间:2017-06-07 18:25:57

标签: javascript angular

是否可以在组件内部生成“动态”html内容,形成对象,如下所示:

let fields = [
        {
            'field': 'name',
            'type': 'text',
            'attrs': [
                {
                    'class': 'name some-class',
                    'fxFlex': '70px',
                    'some-attr': 'some value',
                    '[ngClass]': '{"fa-check-square": isOk(item._id)'
                }
            ]
        }, 
        {
            'field': 'age',
            'type': 'number',
            'attrs': [
                {
                    'class': 'age some-class',
                    'fxFlex': '70px',
                    '[ngClass]': '{"fa-check-square": isOk(item._id)'
                }
            ]
        }
    ]

在html中:

    <app-fields [items]="fields"></app-fields>

产生什么:

<div class="name some-class" fxFlex="70px" [ngClass]="{'fa-check-square': isOk(item._id) some-attr="some value">
    <label for="inp_name">Name:</label>
    <input id="inp_name" type="text" formControlName="name">
</div>
<div class="age some-class" fxFlex="70px" [ngClass]="{'fa-check-square': isOk(item._id)>
    <label for="inp_age">Age:</label>
    <input id="inp_age" type="text" formControlName="age">
</div>

我对ng-templates很好,问题是,如何传递函数的引用,以及如何将未预定义的属性添加到dom元素。

也许对象结构不是最好的,但它不是目标。

0 个答案:

没有答案