Javascript 更改控制器中的ng模型值不会显示在html输入中

Javascript 更改控制器中的ng模型值不会显示在html输入中,javascript,angularjs,Javascript,Angularjs,我有一个分配给ng model值的HTML输入,在手动更改输入之前,控制器中ng model的所有更改(实际上)都显示在HTML输入中,但如果我手动在输入中写入任何内容,则不会对页面上显示的输入影响控制器的任何更改 我编写了$scope.$apply(),但它没有工作。另外,通过调用$setVieweValue更改输入的vieweValue对输入元素值没有任何影响。 调试时,我发现原因是元素的DOM值是不可更改的(更改ng模型值不会更改输入值),因为当我在chrome控制台中更改输入的DOM元素

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

我编写了
$scope.$apply()
,但它没有工作。另外,通过调用
$setVieweValue
更改输入的
vieweValue
对输入元素值没有任何影响。
调试时,我发现原因是元素的DOM值是不可更改的(更改ng模型值不会更改输入值),因为当我在chrome控制台中更改输入的DOM元素值时,该值将显示在页面中。

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

$scope.inputValue = "someValue";
您将其绑定为:

ng-model="inputValue";
更改如下:

$scope.ob = {inputValue: "someValue"};
和html格式:

ng-model="ob.inputValue";

你应该分享一些你尝试过的代码。新的AngularJS开发人员通常没有意识到
ng repeat
ng switch
ng view
ng include
ng if
都会创建新的子作用域,因此当涉及这些指令时,[data hidden]问题经常会出现。通过遵循“最佳实践”,可以很容易地避免原语的这个问题–观看3分钟。Misko演示了ng-switch的基本绑定问题。非常感谢!!它解决了我的问题,浪费了我两天的时间,但对我来说太奇怪了,我无法理解为什么一个物体能解决这个问题。你能解释一下原因吗?很可能你使用的是ng repeat、ng switch、ng view、ng include和ng if中的任意一种。这些都会创建新的子作用域,因此您的输入无法检测此作用域中的ng模型。当您使用对象时,原型继承开始发挥作用,绑定到ng模型的变量在父作用域中找到。