在Angular中,如何有效地将输入项分割为数组

时间:2013-01-09 10:55:56

标签: javascript model-view-controller angularjs

将输入值绑定到ng模型时,如下所示:

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

如何将输入文本绑定为数组?因此,如果我输入one, two, three,则生成的模型将为[ "one","two","three ]

现在这就是我实现这个目标的方式:

<input type="text" ng-model="string" ng-change="convertToArray()">

在我的控制器中:

$scope.convertToArray = function(){
    $scope.array = $scope.string.split(',');
}

它工作正常,但我不认为这是最好的做法,因为我正在制作一个$scope.string变量,然后对目标数组进行硬编码。

是否可以将输入的模型设置为数组,然后让输入在绑定到范围之前通过函数?

2 个答案:

答案 0 :(得分:20)

ngList将完全按照您的意愿行事。

  

将逗号分隔的字符串转换为字符串数组的文本输入。

答案 1 :(得分:0)

没有。由于您的输入将是来自用户的字符串,因此您需要手动将其转换为数组或任何其他格式。

这里讨论类似的讨论和其他方法。可能这可能有所帮助。 (见本文中接受的答案)

How do I set the value property in AngularJS' ng-options?