Здравствуйте, я столкнулся с проблемой, что в случае одновременного использования директивы вешающей слушатель и v-model — Vue.js при каждом изменении переменной заново ставит слушатель.
Пример
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
<input id="vue" type="text" v-model="variable" v-my>
<script>
Vue.directive('my', function (el) {
el.addEventListener('input', event => {
alert(el.value);
}, true);
});
var vue = new Vue({
el: '#vue',
data: {
variable: "",
}
})
</script>
алерт должен выводится один раз, но изза того что vue ставит много слушателей со временем алертов много. Для решения можно использовать v-once, но в таком случае перестает обновлятся переменная. Можно ли поставить какой-то атрибут на v-my чтоб именно ета директива запускалась всего один раз, а переменная обновлялась...