大写

eiee3dmh  于 2021-09-29  发布在  Java
关注(0)|答案(1)|浏览(339)

当用户输入数据时,下面的代码可以正常工作。但我的问题是当数据来自 database(auto filled) 我的指令无效(字母大写)。有没有一个不起作用的原因?。
但是当使用 class="text-uppercase" 它起作用了。
html

<input ng-model="profile.Name" type="text" placeholder="" maxlength="40" capitalize />

js

app.directive('capitalize', function ($parse) {
return {
    require: 'ngModel',
    link: function (scope, element, attrs, modelCtrl) {
        var capitalize = function (inputValue) {
            if (inputValue === undefined) { inputValue = ''; }
            var capitalized = inputValue.toUpperCase();
            //for (var i = 0; i < capitalized.length; i++) {
            //    capitalized[i] = capitalized[i].charAt(0).toUpperCase() + capitalized[i].substring(1);
            //}
            if (capitalized !== inputValue) {
                modelCtrl.$setViewValue(capitalized);
                modelCtrl.$render();
            }
            return capitalized;
        }
        modelCtrl.$parsers.push(capitalize);
        capitalize($parse(attrs.ngModel)(scope)); // capitalize initial value
    }
  };
});
gcuhipw9

gcuhipw91#

您可以在下面查看,了解有关“ngmodel”配置设置的更多信息。
“ngmodel”的含义是什么?

相关问题