1
我想组织我的(在别处定义的)变量在数组中,但是这打破了双向绑定。我不明白为什么我可以直接绑定到一个变量,但不是间接的。我想这是一个愚蠢的错误。 实施例here(的jsfiddle)或更低:ngModel与阵列
HTML:
<div ng-controller="MyCtrl">
<input ng-model="test1"></input>
<input ng-model="test2[0]"></input>
<p>{{test1}}</p>
</div>
使用Javascript:
var myApp = angular.module('myApp',[]);
function MyCtrl($scope) {
$scope.test1 = 'text goes here';
$scope.test2 = [$scope.test1];
}
正如你可以看到第一输入正确绑定到变量并进行更新,而第二个是初始值,但不受限制。
谢谢。我有没有把你说得对:绑定工作,但它绑定到一个副本?我如何防止它绑定到副本? – F43nd1r
这就是JS的工作方式。如果你把一个变量放到一个数组中,你将存储它的值,而不是变量。请参阅http://stackoverflow.com/questions/5865094/how-can-i-store-reference-to-a-variable-within-an-array#answer-5865121 – kiswa
我接受了答案,因为它在技术上是正确的,尽管它并不能解决问题本身。我将尝试将这些原始变量包装在一个对象中,这样我就可以将该对象的引用复制到该数组中。编辑 - 这工作。它需要更多的代码。 https://jsfiddle.net/h8xstepp/ – F43nd1r