vue3 将自定义指令绑定在组件上无效

发布于 2022-09-13 00:40:59 字数 646 浏览 21 评论 0

<template>
  <div v-demo:name="name"></div>
  <HelloWorld v-demo:name="name"></HelloWorld>
</template>

<script lang="ts">
import { defineComponent } from "vue";
import HelloWorld from "./components/HelloWorld.vue";

export default defineComponent({
  name: "App",
  components: {
    HelloWorld,
  },
  directives: {
    demo: {
      mounted(el: HTMLElement, binding, vnode) {
        console.log(el, binding, vnode);
      },
    },
  },
  data() {
    return {
      name: "my name",
    };
  },
});
</script>

我同时将指令绑定在dom和组件上,但是只有dom做出了反应,这在vue3中是为什么.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

离鸿 2022-09-20 00:40:59

组件问题

<template>
 <p>组件内:</p>
 <input type="text" v-model="name" />
</template>

向上面的写法,就不会触发,需要加上根元素

<template>
  <div>
    <p>组件内:</p>
    <input type="text" v-model="name" />
  </div>
</template>

ok.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文