在AngularJs中将字符串的第一个字母大写

我想在angularjs中大写字符串的第一个字符

当我使用它时,它将整个字符串转换为大写。{{ uppercase_expression | uppercase}}


答案 1

使用此大写过滤器

var app = angular.module('app', []);

app.controller('Ctrl', function ($scope) {
   $scope.msg = 'hello, world.';
});

app.filter('capitalize', function() {
    return function(input) {
      return (angular.isString(input) && input.length > 0) ? input.charAt(0).toUpperCase() + input.substr(1).toLowerCase() : input;
    }
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app">
    <div ng-controller="Ctrl">
        <p><b>My Text:</b> {{msg | capitalize}}</p>
    </div>
</div>

答案 2

我会说不要使用angular / js,因为你可以简单地使用css来代替:

在 css 中,添加以下类:

.capitalize {
   text-transform: capitalize;
}

然后,只需将表达式(例如)包装在 html 中:

<span class="capitalize">{{ uppercase_expression }}</span>

无需 js ;)