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

Angular中如何在*ngIf指令里用变量替换字符串常量

解决方案

你只需要直接在*ngIf的表达式里引用question.childhidevalue即可,不需要额外的括号或插值语法,正确代码如下:

<div *ngIf="form.value[question.key] === question.childhidevalue">

为什么之前的写法无效

  • [question.childhidevalue]是Angular的属性绑定语法,*ngIf的表达式不需要这种语法,加了反而会被当成绑定指令,导致逻辑错误。
  • ['question.childhidevalue']是把整个字符串作为比较值,并非引用question对象的childhidevalue属性,自然无法匹配目标值。
  • {{question.childhidevalue}}是插值语法,会把变量转成字符串插入模板,但*ngIf的表达式是在Angular上下文里执行的,插值语法在这里不适用,会导致表达式解析错误。

内容的提问来源于stack exchange,提问作者MisterniceGuy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 23:45:42