Javascript 什么来自用户,toUser indiacate在Angular JS中?

Javascript 什么来自用户,toUser indiacate在Angular JS中?,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,当我试图理解下面的代码片段卡在函数fromUser(text){…}中时,开始潜入internet,但什么也没找到。我不明白它会做什么 app.directive('mobileNumberValidation', function ($parse) { return { require: "ngModel", restrict: "ECA", link: function (scope, elm, attrs, ngModelCtrl)

当我试图理解下面的代码片段卡在函数fromUser(text){…}中时,开始潜入internet,但什么也没找到。我不明白它会做什么

app.directive('mobileNumberValidation', function ($parse) {
    return {

        require: "ngModel",
        restrict: "ECA",
        link: function (scope, elm, attrs, ngModelCtrl) {
            function fromUser(text) {
                var limitLength = 19;
                if (text) {
                    if (text.length > limitLength) {
                        ngModelCtrl.$setViewValue(ngModelCtrl.$viewValue.substring(0, limitLength));
                        ngModelCtrl.$render();
                    }
                    return text;
                }
                return undefined;
            }
            ngModelCtrl.$parsers.push(fromUser);
        }
    }
});

fromUser
是一个传递给
$parsers
的函数,它最终会更改
输入
标记的
格式\值
,该
指令将应用于该标记。
也看到

就你而言:

假设此指令应用于某些输入,如下所示:

<input mobileNumberValidation ng-model="user.number">


因此,
fromUser(text)
函数将通过
ngModel
获取手机号码(文本)值,然后它将
limit\trim\substring
字符串\文本字符长度限制为
19

它将
ng model
值限制为19个符号。@YuryTarabanko是,但“函数fromUser(text)”这能做什么?我希望你的屏幕上有它的来源。它将模型值长度限制为19个符号。谢谢@anoop!