gpt4 book ai didi

angularjs - modelValue 和 viewValue 的区别

转载 作者:行者123 更新时间:2023-12-03 08:09:17 26 4
gpt4 key购买 nike

使用自定义指令,添加验证函数以验证整数输入

var INTEGER_REGEXP = /^\-?\d+$/;
app.directive('integer', function() {
return {
require: 'ngModel',
link: function(scope, elm, attrs, ctrl) {
ctrl.$validators.integer = function(modelValue, viewValue) {
if (ctrl.$isEmpty(modelValue)) {
// consider empty models to be valid
return true;
}

if (INTEGER_REGEXP.test(viewValue)) {
// it is valid
return true;
}

// it is invalid
return false;
};
}
};
});

$validators 对象中的每个函数都接收模型值和 View 值。

modelValue 和 viewValue 有什么区别?

最佳答案

可以定义 $formatter s 和 $parser s 在您的 ngModelController . viewValue 是渲染指令用来绘制自身的值,modelValue 是存储在 ngModel 的 $parser 作用域中的值。列表已被应用。如果您更改范围中的值,ngModel 将通过其 $formatters 运行该值。然后由渲染指令将其作为 viewValue 读取。

通常 viewValue 是显示在输入元素中的字符串,而 modelValue 是已解析为目标格式的值(例如 datepicker 指令中的 Date 对象)

关于angularjs - modelValue 和 viewValue 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26733432/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com