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

Angular中ngModel无法更新字符串变量值的原因排查

问题原因及解决方案

核心原因

在Angular中,当带有[(ngModel)]的<input>处于<form>标签内部时,必须为该input指定name属性。否则Angular的表单机制无法正确识别并追踪这个控件,双向绑定的数据流会中断,导致组件类中的变量无法同步视图输入的值。

修复方案

方案1:为绑定ngModel的input添加name属性

修改组件模板代码:

<form>
    <label>Id: </label>
    <input type="text" name="userId" [(ngModel)]="t" (keyup.enter)="Up()">
    <label for="pass">Password: </label>
    <input type="password" id="pass">
</form>

方案2:移除<form>标签(若不需要表单相关功能)

如果你的场景不需要使用表单的提交、验证等特性,可以直接去掉form标签,这样ngModel可以正常工作:

<label>Id: </label>
<input type="text" [(ngModel)]="t" (keyup.enter)="Up()">
<label for="pass">Password: </label>
<input type="password" id="pass">

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 19:04:52