1

我使用最新的 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");

显示问题的屏幕截图

4

1 回答 1

2

该指令v-highlight应具有字符串类型的值,例如:

     <h3 v-highlight="'yellow'">highlighted using yellow</h3>
    <h3 v-highlight="'#4455ff'">highlighted using blue</h3>

如果您没有提供它,''则会出现以下错误:

[Vue 警告]:在渲染期间访问了属性“黄色”,但未在实例上定义

这意味着您的指令正在寻找yellow未在脚本中定义的数据或计算属性。

现场演示

我提出了这个问题,他们将修复该语法错误

于 2020-10-16T15:35:38.580 回答