Сообщение от Ким чен ин
|
потому что computed это не функция, это свойство, хоть и с возможностью вычисления но все таки свойство. А свойство не может изменять сторонние переменные. Это не предусмотрено парадигмой vue. Если написать такое например в пхп шторме, он покажет ошибку, хотя и не критическую, но укажет что это косяк. Но в данно случае да, проблема не в этом.
|
С противоречием парадигме VUE понял избавимся от противоречия.
Перепишем обработчики в предыдущем варианте (когда компонент с инпутом) по предложенной вами схеме:
methods:{
vtReturn:function(str){
this.checker(str);
this.res.valid = this.pattern.test(this.res.value);
return this.res;
},
checker:function(str){
if (str.length > this.max){
this.res.value = str.substr(0,this.max);
}
}
}
Имеем то же самое, подрезка срабатывает каждый раз при попытке дописать цифр.
Проверка срабатывает через раз.