【问题标题】:Evaluating a boolean to true or false within a for loop在 for 循环中将布尔值评估为真或假
【发布时间】:2020-04-17 01:14:47
【问题描述】:

我遇到的问题与使用布尔 fvalue 并在字符串包含无限字符串的情况下将其转换为 true 或 false 有关。问题是我还附加了一个值区域的订阅,并且我需要使用 *NgIf 来更改使用此布尔值呈现的页面。

<span tabindex="0" *ngIf="isUnlimitedPlan">{{ data2.datas2 }}</span>
<span tabindex="0" *ngIf="!isUnlimitedPlan">{{ data2.datas2 }} monthly minutes</span>

这就是问题所在。

isUnlimitedPlan:boolean;
this.availablePlansResponse.planPackage.planGroupMap.flexPlans[0].planCategories[0].plans.forEach(
(currentElement, index) => {
this.isUnlimitedPlan = currentElement.monthlyMinutes.includes(
'Unlimited'
);
this.genericDataPlans[index].title2 =
currentElement.planDisplayName;
this.genericDataPlans[index].datas2 = currentElement.monthlyMinutes;
this.genericDataPlans[index].price2 =
currentElement.finalMonthlyFee;
this.genericDataPlans[index].desc2 = currentElement.categoryId;
}
);

【问题讨论】:

  • 我没有看到订阅。可以加吗?另外,你能更好地解释这个问题吗?您的问题是isUnlimitedPlan 没有在 HTML 中更新吗?
  • 是的,问题是 UnlimitedPlan 没有在 HTML 中更新。
  • 你为什么不做this.genericDataPlans[index].isUnlimitedPlan = ?那就是给每个计划都设置这个值?
  • 好的,谢谢您的解释。可以添加订阅吗?另外,你能添加完整的组件(.ts 和 html)吗?
  • 好吧,问题是布尔值评估为真或假,因为字符串'Ulimited'不包含在属性monthlyMinutes中。如果它被理想地包含,isUnlimited 将被设置为 true,如果不是,则设置为 false。

标签: javascript angular typescript for-loop angular6


【解决方案1】:

有点像?

<span tabindex="0">{{ data2.datas2 }}
     {{data2.monthlyMinutes.includes('Unlimited')?'':'monthly minutes'}}</span>

注意:我使用独特的行,只需根据 data2.monthlyMinutes 的值添​​加“每月分钟”或不添加

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-25
    • 1970-01-01
    • 2017-10-10
    相关资源
    最近更新 更多