如何将Array从angular $ scope绑定到输入

时间:2015-10-02 21:16:19

标签: javascript arrays angularjs

我在$ 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)

对此进行迭代工作正常,但在设置输入时无法正常工作。

2 个答案:

答案 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方法是否有问题,但在将值合并到数组后,对我有用,现在数组值在输入字段中可见。