我是 AngularJS 的新手,所以如果我完全偏离轨道,我深表歉意。
模板(迭代):
<div class="title">
<input ng-model="menuItem.kind" capitalize-first />
</div>
指令(大写):
angular.module('phonecat', []).directive('capitalizeFirst', function() {
return {
require: 'ngModel',
link: function(scope, element, attrs, modelCtrl) {
var capitalize = function(inputValue) {
var capitalized = inputValue.charAt(0).toUpperCase() +
inputValue.substring(1);
if(capitalized !== inputValue) {
modelCtrl.$setViewValue(capitalized);
modelCtrl.$render();
}
return capitalized;
}
modelCtrl.$parsers.push(capitalize);
capitalize(scope[attrs.ngModel]); // capitalize initial value
}
};
});
结果是一个空白跨度。有任何想法吗?