Я хочу определить директиву vue, которая переключает отображение всплывающего окна при нажатии. Теперь у меня есть:
toggle.js
export default {
bind(el, binding) {
console.log(binding.value); // this is undefined
el.onclick = function() {
console.log(binding.value); // this is undefined as well
// toggle menu element display
};
}
};
component.vue
<template>
<button v-toggle="$refs.menu">
...
</button>
<div ref="menu">
...
</div>
</template>
<script>
import Toggle from 'path/to/toggle.js';
export default {
name: "Component",
directives: {
Toggle
}
</script>
Внутри функции bind binding.value всегда неопределен, возможно потому, что ссылка на меню еще не готова.Как правильно это сделать?