gpt4 book ai didi

javascript - 如何在 Angular 2+ 模板中使用 isArray()?

转载 作者:可可西里 更新时间:2023-11-01 02:16:18 25 4
gpt4 key购买 nike

我有这个名为 records 的变量,

现在我想在 angular2/typescript 中检查它是否是一个数组?

在 AngularJS 中,我曾经执行以下操作:

ng-if="selectedCol.data && !isArray(selectedCol.data)"

但是当我尝试执行以下操作时,它不起作用;

*ngIf="selectedCol.model.data && !Array.isArray(selectedCol.model.data)"

它给我以下错误:

TypeError: Cannot read property 'isArray' of undefined any inputs?

最佳答案

Angular 2 模板在 Component 的上下文中执行,这意味着,您只能访问在 Component 中定义的属性/方法

最简单的方法是在你的组件中定义isArray方法

isArray(obj : any ) {
return Array.isArray(obj)
}

在模板中

*ngIf="isArray(selectedCol.model.data)"

为避免样板代码,使用 isArray 方法定义服务,注册为 Singleton,注入(inject) Component 并使用 isArray 方法通过服务属性

或者,在您的Component 中定义_array 属性并为其分配Array 类型

  private _array = Array;

在模板中

*ngIf="_array.isArray(selectedCol.model.data)"

关于javascript - 如何在 Angular 2+ 模板中使用 isArray()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37678697/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com