我阅读了一些关于角度模型绑定的文章,只是出于好奇,我想知道是否可以将键绑定到输入,
http://jsfiddle.net/x3azn/jM28y/4/
所以我希望通过输入框更新主arr
并实现双向键绑定。
这可能吗?
答案 0 :(得分:4)
如此处Binding inputs to an array of primitives using ngRepeat => uneditable inputs所述,是的,你可以,但不是那样
试试这个
function ctrl($scope) {
$scope.arr = [{name:'1', lastname: '2'},
{name:'3', lastname: '4'},
{name:'5', lastname: '6'}]
}
<div ng-repeat="person in arr">
<input type="text" ng-model="person.name" />
<input type="text" ng-model="person.lastname" />
</div>
答案 1 :(得分:4)
不,不可能将键绑定到输入。
我发现你能做的最接近的事情是滥用ngRepeat的$index
属性并将其绑定到输入。您无法更改现有值的键,但可以更改显示的值以及创建新的键值对。我决不建议将其作为一种解决方案,我只想分享在调查这个问题时所产生的hackery。
JSFiddle:http://jsfiddle.net/DanielBank/v6tFG/
JavaScript的:
function ctrl($scope){
$scope.obj = {
'0': 'a',
'1': 'b',
'2': 'c',
'George': 'Clooney',
};
}
HTML:
<div ng-app>
<div ng-controller="ctrl">
<div ng-repeat="value in obj">
<input type="text" ng-model="$index"/>
<input type="text" ng-model="obj[$index]"/>
<input type="text" ng-model="value"/>
</div>
{{obj}}
</div>
</div>