如何使用 Typescript 在 Vue 3 中创建全局自定义指令
How to create global custom directives in Vue 3 with Typescript
我使用最新的 Vue cli 创建了应用程序,但我尝试注册全局自定义指令但没有成功。有人可以告诉我我做错了什么吗?
import { createApp } from "vue";
import App from "./App.vue";
import "./registerServiceWorker";
import router from "./router";
import store from "./store";
const app = createApp(App);
app.directive("highlight", {
beforeMount(el, binding, vnode) {
el.style.background = binding.value;
},
});
app
.use(store)
.use(router)
.mount("#app");
指令 v-highlight
应该有一个字符串类型的值,如:
<h3 v-highlight="'yellow'">highlighted using yellow</h3>
<h3 v-highlight="'#4455ff'">highlighted using blue</h3>
如果您在没有 ''
的情况下提供它,您将遇到以下错误:
[Vue warn]: Property "yellow" was accessed during render but is not defined on instance
这意味着您的指令正在寻找一个名为 yellow
的数据或计算 属性,这在您的脚本中没有定义。
我提出了这个 issue 他们会修复那个语法错误
我使用最新的 Vue cli 创建了应用程序,但我尝试注册全局自定义指令但没有成功。有人可以告诉我我做错了什么吗?
import { createApp } from "vue";
import App from "./App.vue";
import "./registerServiceWorker";
import router from "./router";
import store from "./store";
const app = createApp(App);
app.directive("highlight", {
beforeMount(el, binding, vnode) {
el.style.background = binding.value;
},
});
app
.use(store)
.use(router)
.mount("#app");
指令 v-highlight
应该有一个字符串类型的值,如:
<h3 v-highlight="'yellow'">highlighted using yellow</h3>
<h3 v-highlight="'#4455ff'">highlighted using blue</h3>
如果您在没有 ''
的情况下提供它,您将遇到以下错误:
[Vue warn]: Property "yellow" was accessed during render but is not defined on instance
这意味着您的指令正在寻找一个名为 yellow
的数据或计算 属性,这在您的脚本中没有定义。
我提出了这个 issue 他们会修复那个语法错误