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
Ответы
Ответ 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>