Javascript 什么来自用户,toUser indiacate在Angular JS中?
当我试图理解下面的代码片段卡在函数fromUser(text){…}中时,开始潜入internet,但什么也没找到。我不明白它会做什么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)
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!