Arrays 如何从对象数组键将元素与ng模型绑定
情况就是这样Arrays 如何从对象数组键将元素与ng模型绑定,arrays,angularjs,Arrays,Angularjs,情况就是这样 angular.module('myApp',[]) .controller('bookCtrl',函数($scope){ $scope.book={ 名称:'会议邀请', 朋友们:[ {'id':1,'name':'raju'}, {'id':2,'name':'radha'}, {'id':3,'name':'luttapi'}, ] }; $scope.update=函数(){ $scope.book.friends[1]={'id':2,'name':'sam'}; 警报
angular.module('myApp',[])
.controller('bookCtrl',函数($scope){
$scope.book={
名称:'会议邀请',
朋友们:[
{'id':1,'name':'raju'},
{'id':2,'name':'radha'},
{'id':3,'name':'luttapi'},
]
};
$scope.update=函数(){
$scope.book.friends[1]={'id':2,'name':'sam'};
警报($scope.book.friends[1].name);
};
});代码>
可以使用for循环
,但是,我认为下面的这项工作可能会让您感兴趣
只需更改JSON的结构,使用Object.proerty
而不是数组。它会成功的
angular.module('myApp',[])
.controller('bookCtrl',函数($scope){
$scope.book={
名称:'会议邀请',
朋友们:{
id1:{'name':'raju'},
id2:{'name':'radha'},
id3:{'name':'luttapi'},
}
};
$scope.update=函数(){
$scope.book.friends.id1={'name':'sam'};
警报($scope.book.id1.name);
};
});
注:
这种解决方法的一个问题是API提供了JSON
。如果接收到的数据结构固定且有角度,则需要将JSON
转换为此结构。您可能需要知道要转换的数据有多大。因为这样的任务会导致内存泄漏
,然后JavaScript垃圾收集
。而且它会显著降低你的应用程序速度你可以这样做:
angular.module('myApp',[])
.controller('bookCtrl',函数($scope){
$scope.book={
名称:'会议邀请',
朋友们:[{
“id”:1,
“姓名”:“拉朱”
}, {
“id”:2,
“name”:“radha”
}, {
"id":3,,
“name”:“luttapi”
}]
};
$scope.update=函数(友元){
提醒(好友名称);
};
});代码>
您可以使用此选项:
angular.module('myApp', [])
.controller('bookCtrl', function($scope) {
$scope.GetOne={};
$scope.book = {
name: 'Session Invites',
friends: [
{'id': 1, 'name': 'raju' },
{'id': 2, 'name': 'radha' },
{'id': 3, 'name': 'luttappi' },
]
};
$scope.update = function(){
$scope.GetOne=$scope.book.friends[1];
alert($scope.GetOne.name );
};
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp">
<div ng-controller="bookCtrl">
<input type="text" ng-model="GetOne.name" />
<input type="button" id="btn" name="btn" value="update" ng-click="update()" />
</div>
</div>
angular.module('myApp',[])
.controller('bookCtrl',函数($scope){
$scope.GetOne={};
$scope.book={
名称:'会议邀请',
朋友们:[
{'id':1,'name':'raju'},
{'id':2,'name':'radha'},
{'id':3,'name':'luttapi'},
]
};
$scope.update=函数(){
$scope.GetOne=$scope.book.friends[1];
警报($scope.GetOne.name);
};
});
您可以使用angular.forEach进行迭代,然后在迭代后匹配idarray@Anita-我想使用ng模型直接绑定数组元素,这可能吗?我不认为这是可能的。看看这个,我想避免ng重复,因为文本框将放置在表单中的不同位置,这不是一个列表。如何使用单个保存按钮提交所有值?这似乎是一个很好的方法。好友列表是一个动态列表,让我看看如何以这种格式加载它。@CoderHawk Yeap,唯一关心的是提供JSON
的API。如果接收到的数据结构固定且有角度,则需要将JSON
转换为此结构。您可能需要知道要转换的数据有多大。因为这样的任务会导致内存泄漏
,然后JavaScript垃圾收集
。它会大大降低你的应用程序速度。编辑:我将在回答中更新此内容,以备将来使用。