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

AngularJS - форматирование текста Возврат из JSON к заголовку

У меня есть служба, которая извлекает данные из файла JSON.

Некоторые данные в данных хранятся в верхнем регистре, например:

$scope.FootballClubs = [{
    CompanyName: [MANCHESTER UNITED, LIVERPOOL FOOTBALL CLUB, CHELSEA, WIGAN UNTIED, LEICESTER CITY]
}];

И в моем HTML, я просто бросаю выше:

<div ng-repeat="name in FootballClubs">
    {{ name.CompanyName }}
</div>

Что выбрасывает:

MANCHESTER UNITED
LIVERPOOL FOOTBALL CLUB
CHELSEA
WIGAN UNTIED
LEICESTER CITY

Я пытаюсь показать следующее:

Manchester United
Liverpool Football Club
Chelsea
Wigan United
Leicester City
4b9b3361

Ответ 1

A filter является идеальным решением для этой цели

<div ng-repeat="name in FootballClubs">
    {{ name.CompanyName | titleCase }}
</div>

Таким образом, сам фильтр будет

angular.module('myFootballModule', [])
  .filter('titleCase', function() {
    return function(input) {
      input = input || '';
      return input.replace(/\w\S*/g, function(txt){return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();});
    };
  })

Ответ 2

Сначала измените их на нижний регистр {{name.CompanyName.toLowerCase()}}

Я думаю, что самый простой способ - просто иметь формат CSS (либо через тег стиля, класс и т.д.).

<div ng-repeat="name in FootballClubs" style="text-transform:capitalize;">
 {{ name.CompanyName.toLowerCase() }}
</div>

Вот демо: http://plnkr.co/edit/S4xtIRApMjKe0yQGREq5?p=preview

Ответ 3

просто используйте этот div в своем HTML

  <div ng-repeat="name in FootballClubs">
     {{ name.CompanyName | titleCase:CompanyName }}
 </div>