Oam*_*Psy 34 angularjs angularjs-directive angularjs-scope angularjs-ng-repeat
我有一个从JSON文件中检索数据的服务.
数据中的一些数据全部为大写,例如:
$scope.FootballClubs = [{
CompanyName: [MANCHESTER UNITED, LIVERPOOL FOOTBALL CLUB, CHELSEA, WIGAN UNTIED, LEICESTER CITY]
}];
Run Code Online (Sandbox Code Playgroud)
在我的HTML中,我只是抛出上述内容:
<div ng-repeat="name in FootballClubs">
{{ name.CompanyName }}
</div>
Run Code Online (Sandbox Code Playgroud)
抛出:
MANCHESTER UNITED
LIVERPOOL FOOTBALL CLUB
CHELSEA
WIGAN UNTIED
LEICESTER CITY
Run Code Online (Sandbox Code Playgroud)
我想要展示的是:
Manchester United
Liverpool Football Club
Chelsea
Wigan United
Leicester City
Run Code Online (Sandbox Code Playgroud)
dub*_*dub 68
甲滤波器是用于该目的的理想解决方案
<div ng-repeat="name in FootballClubs">
{{ name.CompanyName | titleCase }}
</div>
Run Code Online (Sandbox Code Playgroud)
所以过滤器本身就是
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();});
};
})
Run Code Online (Sandbox Code Playgroud)
luc*_*uma 26
让我提供一种非指令性的方法,它可能更容易实现但功能更少,并且仅依赖于仅作为UI的解决方案.首先,将它们更改为小写{{name.CompanyName.toLowerCase()}}
我认为最简单的方法是使用CSS格式(通过样式标签,类等).
<div ng-repeat="name in FootballClubs" style="text-transform:capitalize;">
{{ name.CompanyName.toLowerCase() }}
</div>
Run Code Online (Sandbox Code Playgroud)
这是一个演示:http://plnkr.co/edit/S4xtIRApMjKe0yQGREq5?p = preview
| 归档时间: |
|
| 查看次数: |
24758 次 |
| 最近记录: |