You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于在Ionic应用中结合JSON使用*ngIf指令的技术咨询

嘿,我来帮你搞定这个*ngIf的问题!你现在的写法有两个小错误,咱们一步步修正:

正确实现方式

首先要明确:Angular的*ngIf结构指令不需要用插值语法{{}}包裹表达式,直接写判断逻辑就行。而且你第二个<p>标签的*ngIf位置也写错了,应该放在标签属性里,不是标签内容中。

修正后的代码

<p *ngIf="item.price === 1"> Okey </p>
<p *ngIf="item.price === 2"> Okey2 </p>

为什么原来的写法不行?

  • *ngIf接受的是布尔表达式,插值{{}}是用来把数据渲染到文本中的,放在指令里会导致Angular无法正确解析表达式,直接报错。
  • 第二个<p>的*ngIf写在了标签内部文本里,这属于语法错误,结构指令必须作为标签属性存在。

额外提醒

如果你的JSON里price字段是字符串类型(比如存的是"1"而不是数字1),那要调整表达式匹配类型:

<p *ngIf="item.price === '1'"> Okey </p>
<p *ngIf="item.price === '2'"> Okey2 </p>

另外别忘了确认你的组件已经导入了CommonModule(独立组件场景)或者根模块导入了BrowserModule,*ngIf属于这个模块里的指令,没导入的话也会失效哦。

内容的提问来源于stack exchange,提问作者Mans Salah-Eddi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:12:05