Разбираюсь в директивах и одновременно пытаюсь создать свою. Но столкнулся с проблемой: если использовать внешнюю функцию, то при привязке(bind) возможно добавить обработчик событий к элементу, а при отвязке(unbind), соответственно, удалить, но как при этом сохранить доступ к el и binding?
Пример:
function getKey(e) {
console.log("key", e.key);
console.log("binding.value", binding.value); // недоступно через замыкания
}
Vue.directive("input-test", {
bind: function(el, binding) {
el.addEventListener("keydown", getKey);
},
unbind: function(el) {
el.removeEventListener("keydown", getKey);
}
});
Как решить данную проблему и есть-ли хорошие практики для подобных ситуаций? Возможно-ли создавать внутренние функции для директивы, которые будут доступны во всех хуках?