【问题标题】:check with ngIf an array component angular使用 ngIf 检查数组组件角度
【发布时间】:2020-08-29 10:45:42
【问题描述】:

当你只检查变量时,这段代码就足够了

<div class="someComponent" *ngIf="someVariable">

但是我怎样才能使用数组的特定组件而不是变量呢? 例如,我想使用 idVar someArray[idVar] 检查数组组件 someArray[]? 我怎样才能把它放在 ngIf 中?

我的 ts 文件中有 someArray: Boolean[];

然后在我的模板中我有一些循环,我用*ngIf="someArray[idVar]" 构造 div,因为此时 someArray 有实际参数,出现错误Cannot read property '1' of undefined 然后我把所有东西都包起来 所以当我加载页面时,因为 someArray 不存在一切正常。 但是然后我按下按钮我将1传输到ts文件并将'true'值放入someArray [1]。当我这样做时,脚本会出现错误Cannot read property '1' of undefined

【问题讨论】:

  • someArray[idVar] 签名有什么问题?它应该工作。本质上,这些语句被解释为 TS 表达式,因此访问数组中的元素也应该有效。
  • 只要在组件的 ts 文件中定义了 someArrayidVar,表达式 someArray[idVar] 应该可以工作。尝试此操作时是否遇到任何特定错误?
  • 更新问题
  • 我有一个放置 div 的循环。并且必须隐藏每个 div。为此,我使用 ngIf 和 wat 将其与具有相应数字的数组绑定。并通过按下功能中的按钮,我将使特定的数组组件为真,以便显示 div。这就是我想要的

标签: arrays angular angular-ng-if


【解决方案1】:

我猜你正在使用 *ngFor 指令。您可以在 *ngFor 中编写 let i = index ,例如 *ngFor ="let element of elements; let i = index" 以便访问元素的迭代器。有了这个逻辑,你就可以实现你想要的。

如果这对您不起作用, 您必须更准确地了解 idVar。它的范围是什么?不知怎的 在模板中定义,或者您可以使用 .ts 文件中的函数来检索它吗?

【讨论】:

  • 不,先生。我有一个放置 div 的循环。并且必须隐藏每个 div。为此,我使用 ngIf 和 wat 将其与具有相应数字的数组绑定。并通过按下功能中的按钮,我将使特定的数组组件为真,以便显示 div。这就是我想要的
猜你喜欢
  • 2020-03-11
  • 1970-01-01
  • 2016-09-29
  • 2018-07-25
  • 1970-01-01
  • 2018-09-15
  • 2019-08-10
  • 2015-07-01
  • 1970-01-01
相关资源
最近更新 更多