首页 > 解决方案 > 在控制器中更改 ng-model 值不会显示在 html 输入中

问题描述

我有一个分配给ng-model值的 HTML 输入,在手动更改输入之前,控制器中 ng-model 的所有更改(实际上)都显示在 HTML 输入中,但是如果我手动在输入中写入任何内容,控制器中没有更改影响页面上显示的输入。

我写$scope.$apply()但它不起作用。vieweValue通过调用更改输入$setVieweValue也不会对输入元素值产生任何影响。当我调试时,我发现原因是元素的DOM值是不可更改的(更改ng-model值不会更改输入值)因为当我在chrome控制台中更改输入的DOM元素的值时,然后该值将显示在页面中。

标签: javascriptangularjs

解决方案


尝试将模型放入对象中。例如-假设您的范围变量是:

$scope.inputValue = "someValue";

并且您将其绑定为:

ng-model="inputValue";

像这样改变它:

$scope.ob = {inputValue: "someValue"};

在html中:

ng-model="ob.inputValue";

推荐阅读