我正在学习Angular2.我有一个具有变量的组件,它是一个对象.
我正在迭代对象的字段,并根据该位置的数据类型,我需要渲染不同的组合.
在这种情况下,我想要tu渲染该标签,如果该位置的类型是一个数字,这是如何不工作的
我正在迭代对象的字段,并根据该位置的数据类型,我需要渲染不同的组合.
在这种情况下,我想要tu渲染该标签,如果该位置的类型是一个数字,这是如何不工作的
<div>
<div *ngIf='obj'>
<label *ngFor="let key of keys; let i = index">
<label class='key'>{{key}}:</label>
<label class='number' *ngIf='typeof obj[key] === "number"'>
<!-- label class='number' *ngIf='obj[key] | typeof === "number"' -->
{{ obj[key] }}
</label>
</label>
</div>
</div>
有任何想法吗?
我还创建了一个管道,以获得其打印值时的工作类型,但不在* ngIf内
解决方法
像窗口,类型,枚举或静态方法这样的全局变量在模板中不可用.只有组件类和typescript语言结构的成员才可用.
你可以像你一样在你的组件中添加一个帮助器方法
isNumber(val) { return typeof val === 'number'; }
并使用它
<label class='number' *ngIf='isNumber(obj[key])'>