Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

In Angular, how do I efficiently split input items into an array

When binding input value to an ng-model like so:

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

how do I bind the input text as an array? So if I input one, two, three, the resulting model will be [ "one","two","three ].

Right now this is how I'm achieving this:

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

And in my controller:

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

It works fine but I don't think it's best practice because I'm making a $scope.string variable and then hardcoding the destination array.

Is it possible to just have the input's model set into array and then have the input pass through the function before being bound to the scope?

like image 364
George Ananda Eman Avatar asked Jan 09 '13 10:01

George Ananda Eman


1 Answers

ngList will do exactly what you want.

Text input that converts between comma-separated string into an array of strings.

like image 59
Mark Rajcok Avatar answered Sep 21 '22 00:09

Mark Rajcok