Использование запятой в качестве разделителя списков с помощью AngularJS

Мне нужно создать список элементов, разделенных запятыми:

  • {{email}}{{$last ? '' : ', '}}...
  • Согласно документации AngularJS, в выражениях не допускаются инструкции streamа управления. Вот почему мой {{$last ? '' : ', '}} {{$last ? '' : ', '}} не работает.

    Есть ли альтернативный способ создания разделенных запятыми списков?

    ИЗМЕНИТЬ 1
    есть что-то более простое, чем:

     ,  

    Вы можете сделать это так:

    {{email}}{{$last ? '' : ', '}}

    .. Но мне нравится ответ Филиппа 🙂

    Просто используйте функцию встроенного join(separator) Javascript для массивов:

     
  • {{friend.email.join(', ')}}...
  • Также:

     angular.module('App.filters', []) .filter('joinBy', function () { return function (input,delimiter) { return (input || []).join(delimiter || ','); }; }); 

    И в шаблоне:

     {{ itemsArray | joinBy:',' }} 
     .list-comma::before { content: ','; } .list-comma:first-child::before { content: ''; } 
      {{destination.name}}  

    Вы можете использовать CSS, чтобы исправить это тоже

     
    [ {{something}}, ]
    .some-container span:last-child .list-comma{ display: none; }

    Но ответ Энди Йослина лучше всего

    Редактирование: я передумал, что должен был сделать это недавно, и я закончил работу с фильтром соединения.

    Я думаю, что лучше использовать ng-if . ng-show создает элемент в dom и устанавливает его display:none . Чем больше элементов dom вас больше, тем больше ресурсов голодает, ваше приложение становится, а на устройствах с более низкими ресурсами меньше элементов dom тем лучше.

    TBH , кажется отличным способом сделать это. Это просто.

    Поскольку этот вопрос довольно старый, и AngularJS успел развиваться с тех пор, теперь это можно легко достичь, используя:

  • .

    Обратите внимание, что я использую ngBind вместо интерполяции {{ }} поскольку он намного более эффективен: ngBind будет запускаться только тогда, когда переданное значение действительно изменится. С другой стороны, скобки {{ }} будут грязно проверены и обновлены в каждом $ digest, даже если это не обязательно. Источник: здесь , здесь и здесь .

     angular .module('myApp', []) .controller('MyCtrl', ['$scope', function($scope) { $scope.records = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; } ]); 
     li { display: inline-block; } 
      

    Если вы используете ng-show для ограничения значений, {{$last ? '' : ', '}} {{$last ? '' : ', '}} не будет работать, поскольку он все равно будет принимать во внимание все значения. Пример

     
    {{x}}{{$last ? '' : ', '}}
    var myApp = angular.module("myApp", []); myApp.controller("myCtrl", function($scope) { $scope.records = [ {"email": "1"}, {"email": "1"}, {"email": "2"}, {"email": "3"} ] });

    Результаты добавления запятой после «последнего» значения , поскольку с помощью ng-show он все еще учитывает все 4 значения

     {"email":"1"}, {"email":"1"}, 

    Одним из решений является добавление фильтра непосредственно в ng-repeat

     
    {{x}}{{$last ? '' : ', '}}

    Результаты

     {"email":"1"}, {"email":"1"} 
  • Директива изолирует область с областью ng-repeat в AngularJS
  • Использование ng-if внутри ng-repeat?
  • Способ ng-повторить определенное количество раз вместо повторения по массиву?
  • Вычисление суммы повторяющихся элементов в AngularJS ng-repeat
  • Сложность с ng-моделью, ng-repeat и входами
  • AngularJs Удалите повторяющиеся элементы в ng-repeat
  • Угловые ng-repeat условные элементы обертывания в элементе (элементы группы в ng-repeat)
  • Как использовать ng-repeat для словарей в AngularJs?
  • Группа AngularJS по директиве без внешних зависимостей
  • Угловой порядок. Сортировка числа в тексте в ng-repeat.
  • AngularJS для цикла с числами и диапазонами
  • Interesting Posts

    Есть ли способ определить, является ли диск SSD?

    Сравнение использования памяти в браузере: встроенный onClick против использования JQuery .bind ()

    Как я могу исключить папку Outlook для Windows Search Index в Windows 7?

    FragmentActivity не может быть разрешено для типа

    Генерировать случайные числа после нормального распределения в C / C ++

    Почему аргумент типа карты C ++ требует пустого конструктора при использовании ?

    Android; Проверьте, существует ли файл без создания нового

    Список переходов панели задач Putty, разбитый на Windows 10

    Должен ли я использовать int или Int32

    Как преобразовать String в ArrayList?

    LINQ to SQL и шаблон репозитория

    Как использовать два аудиоустройства одновременно с Windows 7?

    Какова цель ключевого слова var и когда я должен использовать его (или опустить)?

    Когда твердотельный диск выходит из строя, данные могут быть восстановлены?

    Как открыть упрямые ссылки javascript на новой вкладке или в новом окне?

    Давайте будем гением компьютера.