Я следую руководству Custom Directive, чтобы создать настраиваемую директива в Vue.js 3. Я дал указание изменить фон элемента.
Home.vue
включает использование настраиваемой директивы, а main.js
включает определение настраиваемой директивы.
"Home.vue"
<template>
<p v-highlight="yellow">Home</p>
</template>
"main.js"
import { createApp } from 'vue'
import App from './App.vue'
const app = createApp(App)
app.mount('#app');
app.directive("highlight",{
beforeMount(el, binding){
el.style.background = binding.value
}
});
Но в консоли появляется следующая ошибка:
"Cannot read property 'created' of undefined"
Кто-нибудь мне поможет?
4
drunkdolphin
22 Сен 2020 в 04:14
1 ответ
Лучший ответ
Просто измените порядок монтирования / директивы
import { createApp } from 'vue'
import App from './App.vue'
const app = createApp(App)
app.directive("highlight",{
beforeMount(el, binding){
el.style.background = binding.value
}
});
app.mount('#app');
Или ты можешь сделать
app.directive("highlight",{
beforeMount(el, binding){
el.style.background = binding.value
}
}).mount('#app');
3
Jaromanda X
22 Сен 2020 в 02:08
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript/JS) и его различных диалектах/реализациях (кроме ActionScript). Имейте в виду, что JavaScript — это НЕ то же самое, что Java! Включите все ярлыки, относящиеся к вашему вопросу; например, [node.js], [jQuery], [JSON], [ReactJS], [angular], [ember.js], [vue.js], [typescript], [svelte] и т. д.