Подтвердить что ты не робот

Как разбить строку на angularJS

Я хотел знать, могу ли я разбить строку просто в angularJS. У меня есть

 $scope.test = "test1,test2";

в моем контроллере и, на мой взгляд, Я хотел сделать что-то подобное

{{test[0] | split(',')}}
{{test[1] | split(',')}}

Я многое видел о вводе и ng-изменении, вызывающем функцию в контроллере, которая разбивает строку или что-то с помощью ng-list, но ничего не работает в моем случае.

спасибо для всех.

4b9b3361

Ответ 1

Возможно, вы захотите перенести эту функциональность в фильтр, так что вам не нужно включать функцию mySplit во все ваши контроллеры. Например

angular.module('myModule', [])
    .filter('split', function() {
        return function(input, splitChar, splitIndex) {
            // do some bounds checking here to ensure it has that index
            return input.split(splitChar)[splitIndex];
        }
    });

Здесь вы можете использовать фильтр по своему усмотрению

{{test | split:',':0}}
{{test | split:',':0}}

Дополнительная информация на http://docs.angularjs.org/guide/filter (спасибо ross)

Plunkr @http://plnkr.co/edit/NA4UeL

Ответ 2

спасибо ребята, я наконец нашел решение, действительно базовое... В моем контроллере у меня есть

$scope.mySplit = function(string, nb) {
    var array = string.split(',');
    return array[nb];
}

и, на мой взгляд,

{{mySplit(string,0)}}

Ответ 3

Вы можете попробовать что-то вроде этого:

$scope.test = "test1,test2";
{{test.split(',')[0]}}

теперь вы получите " test1" при попытке {{test.split(',')[0]}}

и вы получите " test2" при попытке {{test.split(',')[1]}}

вот мой plnkr:

http://plnkr.co/edit/jaXOrZX9UO9kmdRMImdN?p=preview

Ответ 4

Вы можете попробовать следующее:

$scope.testdata = [{ 'name': 'name,id' }, {'name':'someName,someId'}]
$scope.array= [];
angular.forEach($scope.testdata, function (value, key) {
    $scope.array.push({ 'name': value.name.split(',')[0], 'id': value.name.split(',')[1] });
});
console.log($scope.array)

Таким образом вы можете сохранить данные для последующего использования и присоединиться к нему, используя ng-repeat следующим образом:

<div ng-repeat="item in array">{{item.name}}{{item.id}}</div>


Я надеюсь, что это помогло кому-то,
Ссылка на плункер: здесь
Все кредиты передаются @jwpfox и @Mohideen ibn Mohammed из вышеприведенного ответа.