【发布时间】: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