Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Angularjs问题中绑定2个输入_Javascript_Angularjs - Fatal编程技术网

Javascript 在Angularjs问题中绑定2个输入

Javascript 在Angularjs问题中绑定2个输入,javascript,angularjs,Javascript,Angularjs,我有两个输入 <input type="number" ng-model="samount" ng-change="getSR(samount)"> <input type="number" ng-model="ramount" ng-change="getRS(ramount)"> 我在输入1中输入一些数据,进行一些计算,并使用控制器中的函数更新输入2的值。这是可行的,但当我在输入2中输入数据时,反向计算并更新输入1。由于某些原因,输入1值未更新。我使用$scope.

我有两个输入

<input type="number" ng-model="samount" ng-change="getSR(samount)">
<input type="number" ng-model="ramount" ng-change="getRS(ramount)">
我在输入1中输入一些数据,进行一些计算,并使用控制器中的函数更新输入2的值。这是可行的,但当我在输入2中输入数据时,反向计算并更新输入1。由于某些原因,输入1值未更新。我使用$scope.$watch查看输入1是否已更新,它是否在$watch中更新,但不在视图中。 如果我重新加载并从输入2开始工作,输入1会更新,但输入输入1不会再次更新。它们在相同的范围内,但ng变化是不同的功能

每个函数中的$scope.$apply()给出了正在进行的错误应用

有没有办法解决这个问题


编辑:添加示例代码

首先,您的代码可以工作 不管怎样,我认为你错过了圆点的规则。在范围中将数据绑定到模型时,请使用对象作为命名空间。例如:

ng-repeat='carname' //this could brake 2-way data binding in some point
ng-repeat-'car.name' //this will always update properly your model and template 

是的,没有你的代码是不可能帮助你的。我将发布代码,请稍候。这可能是一个儿童范围问题,因为你违反了总是将对象绑定到
ng model
…请看第二个答案中的视频非常简短,但值得一看it@charlietfl非常感谢。这确实是childscope的问题,将作用域变量更改为object,它们按预期工作。非常感谢。不完全有用,因为没有显示足够的html来查看子范围。我真希望你看了那个视频。。。规则很容易记住br
在ng模型中始终有一个点
。还有另一个开发者的好处。。。整个表单将在一个对象中…使发送到服务器变得简单
ng-repeat='carname' //this could brake 2-way data binding in some point
ng-repeat-'car.name' //this will always update properly your model and template