javascript – 如何在Angular2中检查ngIf中的变量类型

我正在学习Angular2.我有一个具有变量的组件,它是一个对象.
我正在迭代对象的字段,并根据该位置的数据类型,我需要渲染不同的组合.
在这种情况下,我想要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])'>

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...