1

对于 ng-list,您的模型通常有一个简单的数组:

[1,2,3,4,5]

相反,我有一个像这样的对象数组:

[{ id: 1, value: 2 }, { id: 2, value: 3 } ... ]

有什么办法让我能够value在类似于此的文本输入中输出每个?:

2, 3

似乎 ng-list 是我想要的,但显然我的模型是错误的。我只需要翻译我的模型还是有办法用我所拥有的来做到这一点?

谢谢!

4

2 回答 2

2

扩展@Benjamin Gruenbaum 评论,我认为这是最简单的解决方案:

 <input type="text" ng-model="test">

在你的控制器中

 $scope.test = [{ id: 1, value: 2 }, { id: 2, value: 3 } ].map(function(x){ return x.value; });
于 2014-08-08T15:51:46.953 回答
0

我不熟悉 ng-list,但根据 docs Text input that converts between a delimited string and an array of strings,所以它适用于字符串,我认为你能做的最好的事情就是观察你的数组是否有变化,然后将你想要的属性添加到一个新数组中

$scope.myObjects = [{id:1, name:'john'},{id:2, name: 'charles'}];
$scope.myStringArray = [];

$scope.$watch('myObjects', function(){
    var newArray=[];
    for (var i = 0; i < $scope.myObejcts.lenght; i++) {
       newArray.push($scope.myObjects[i].name)//in case you want to list names
    }
    $scope.myStringArray = newArray;
} , true);
于 2014-08-08T15:42:37.213 回答