AngularJS - Format Text Return From JSON To Title Case

前端 未结 3 472
离开以前
离开以前 2021-02-03 20:29

I have a service that retrieves data from a JSON file.

Some of the data within the data is all in uppercase, for example:

$scope.FootballClubs = [{
    C         


        
相关标签:
3条回答
  • 2021-02-03 20:58

    Let me offer a non-directive way which is probably easier to implement but less powerful and dependent on the solution being UI only. First, change them to lowercase {{name.CompanyName.toLowerCase()}}

    I think the easiest way is to just have CSS format it (either via a style tag, class, etc).

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

    Here is a demo: http://plnkr.co/edit/S4xtIRApMjKe0yQGREq5?p=preview

    0 讨论(0)
  • 2021-02-03 21:05

    A filter is an ideal solution for this purpose

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

    So the filter itself would be

    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();});
        };
      })
    
    0 讨论(0)
  • 2021-02-03 21:11

    just use this div in your HTML

      <div ng-repeat="name in FootballClubs">
         {{ name.CompanyName | titleCase:CompanyName }}
     </div>
    
    0 讨论(0)
提交回复
热议问题