我有什么:
app.controller('items', function($scope){
$scope.items = [
{'id':1, 'name':'randomOne'},
{'id':2, 'name':'whatEverName'}
];
});
我想要的是什么:
<input value="1,2"/>
我了解ng-repeat
,但它只能用于html标记。有没有办法用AngularJS实现这个目标?
谢谢!
答案 0 :(得分:1)
怎么样:
$scope.value = _.pluck(items, 'id').join(',');
<input value="value">
答案 1 :(得分:1)
使用过滤器:
.filter('getIds', function () {
return function (items) {
return items && items.map(function (item) {
return item.id;
}).join(',');
}
})
在你的HTML中:
<input value="{{ items | getIds }}" />
示例Plunker: http://plnkr.co/edit/ifHKzWqxtErQQVToMNsH?p=preview
答案 2 :(得分:0)
您可以循环浏览它们并使用value="{{ids}}"
,如:
$scope.ids = [];
angular.forEach($scope.items, function(values,keys){
$scope.ids.push(values.id);
});
$scope.ids = $scope.ids.join();