gpt4 book ai didi

javascript - Angular.js 格式化程序未在 modelValue 更改时触发

转载 作者:行者123 更新时间:2023-11-29 14:57:06 25 4
gpt4 key购买 nike

http://plnkr.co/edit/HN1PBGRsK6xqT9pwXcKY?p=preview它应该很容易解释

ctrl.$formatters 在我最初设置模型值时运行,但在我更新它之后不运行。

根据这个Have $formatters be called when view is first populated?每次更改模型值时它都应该触发,所以出了什么问题?谢谢。

最佳答案

使用自然模型 setter scope[attrs.ngModel] 而不是 setviewvalue。

app.directive('format', function($filter) {
return {
require: 'ngModel',
link: function(scope, element, attrs, ctrl) {
element.unbind('input').unbind('keydown').unbind('change');
element.bind('blur', function() {
if (element.val()) {
scope.$apply(function() {
scope[attrs.ngModel] = element.val();
});
}
});

ctrl.$formatters.unshift(function(modelValue) {
if (modelValue) {
var formatted = $filter('currency')(modelValue);
return formatted;
}
});
}
}
});

您还需要一个解析器才能正常工作。

关于javascript - Angular.js 格式化程序未在 modelValue 更改时触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16085942/

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