Как стать автором
Обновить
0
0

Пользователь

Отправить сообщение
Не помешали бы бенчмарки и температурные графики в сравнении со штатным кулером.
Что-то вроде такого не подходит?
if(this.maskRef) {
    this.maskRef.on('accept', this.$emit('input', this.maskRef.value))
} else {
    this.inputRef.on('input', this.$emit('input', this.inputRef.value))
}


Чтобы обновлять динамически можно в watch смотреть за пропом mask и вешать/снимать ивенты когда в нем что-то меняется.
Зачем регистрировать два разных ивента? Почему нельзя через один ивент передавать значение поля, не важно с маской оно или нет? Условно если компонент сверху переключает маску он знает, какое именно значение он получил.
Важный момент, который надо учитывать — это модели Vue, которые реагируют на событие input. И тут такая история. Моя библиотека живет себе тихо-мирно и не глушит стандартные HTML-события, а добавляет пару своих — accept и complete, кому что надо сам выбирает. И получается, что модель обновляется на событие input, когда значение еще не было обработано маской. Но это неверно, ожидается такое поведение: маска подключена — реагируем на accept, маска отключена — на input. Решил вопрос ручным управлением событиями, что не очень удобно. Кто знает способ получше?


Событие, по которому обновляется модель компоненты можно кастомить.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность