javascript - 在控制器中更改 ng-model 值不会显示在 html 输入中
问题描述
我有一个分配给ng-model
值的 HTML 输入,在手动更改输入之前,控制器中 ng-model 的所有更改(实际上)都显示在 HTML 输入中,但是如果我手动在输入中写入任何内容,控制器中没有更改影响页面上显示的输入。
我写$scope.$apply()
但它不起作用。vieweValue
通过调用更改输入$setVieweValue
也不会对输入元素值产生任何影响。当我调试时,我发现原因是元素的DOM值是不可更改的(更改ng-model值不会更改输入值)因为当我在chrome控制台中更改输入的DOM元素的值时,然后该值将显示在页面中。
解决方案
尝试将模型放入对象中。例如-假设您的范围变量是:
$scope.inputValue = "someValue";
并且您将其绑定为:
ng-model="inputValue";
像这样改变它:
$scope.ob = {inputValue: "someValue"};
在html中:
ng-model="ob.inputValue";
推荐阅读
- linux - Bash:在列中查找重复项,根据另一列的比较删除行
- typescript - Nuxt - asyncData 错误:“绑定元素 '$axios' 隐式具有 'any' 类型。”
- visual-studio-code - 如何使用 VS Code 为 Windows 做出本机反应?
- c++ - 首次尝试使用 CMake 编译 Open-CV 时出错
- reactjs - 我使用 fetchAPI 和 useState 收到此错误“TypeError:userData.map 不是函数”
- javascript - JavaScript 检查迭代器是否包含值
- c# - 如何将 html 内容从变量加载到 UWP WebView
- json - 包含管道字符的键的 JQ 提取错误
- r - 如何按不同组绘制数据?
- python - 基于唯一值将数据帧子集为小数据帧并同时写入 csv 文件的有效方法