我在$ scope中有一个数组,比如说
$scope.my_array = ["val_1", "val_2", "val_3"]
为了绑定这个数组输入元素,我使用了ng-model:
<input type="text" ng-model="my_array">
现在我希望它在输入框中以逗号分隔显示数组值,但不显示任何内容。这甚至可能吗?
在ng-repeat中,它正在迭代值,因此视图可以使用该数组。
已编辑:谢谢,正常的方法是使用数组绑定。但在我的情况下,我首先使用空数组:
$scope.my_array = []
然后,在ng-click函数中,我从被点击的元素中获取data- *属性并将其推送到数组:
var item = $(".some-class").data("field-type");
$scope.my_array.push(item)
对此进行迭代工作正常,但在设置输入时无法正常工作。
答案 0 :(得分:0)
请看另一个详细解释双向过滤的主题:How to do two-way filtering in angular.js? 简而言之,你应该使用ngModels&#39; $ parsers和$ formatters集合能够在设置输入之前制作.join(&#34;,&#34;),并在将值设置回模型之前制作.split(/,* /)。
答案 1 :(得分:0)
此问题已解决,我用过
$scope.my_array = $scope.my_array.concat(item)
而不是使用.push()方法。
我不知道数组的push
方法是否有问题,但在将值合并到数组后,对我有用,现在数组值在输入字段中可见。