关于#javascript#的问题:为什么找不到属性,@click方法里面写什么都会找不到属性

类型“Vue3Instance”上不存在属性“clickMenu”

img

为什么找不到属性,@click方法里面写什么都会找不到属性

这个问题可能是因为在Vue3中,事件处理程序属性已被删除。在Vue3中,事件处理程序属性应该被替换为指令。

可以尝试在模板上使用 v-on 指令绑定事件处理程序。例如:

<button v-on:click="clickMenu">Click me</button>


在Vue3中,可以使用 setup 函数来定义组件的行为。在 setup 函数中,可以使用 ref 来创建响应式引用。

例如,可以在组件的 setup 函数中创建一个响应式引用,并在 clickMenu 方法中更新它:


import { ref } from 'vue';

export default {
  setup() {
    const menu = ref('');

    function clickMenu() {
      menu.value = 'clicked';
    }

    return {
      menu,
      clickMenu
    };
  }
}

然后,在组件的模板中使用 menu 引用来显示菜单:

<div>{{ menu }}</div>



这样,在点击按钮时,clickMenu 方法将更新 menu 引用,并且视图将自动更新以显示新的值。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^