我试图为移动设备做一个简单的菜单,但我没有解决vue实例的问题

我的组件nuxt菜单:

<template>
    <header id="menu" class="menu-g">
        <Nuxt-link to="/"><img src="~assets/logo.svg" alt="Logo de Lucas"/></Nuxt-link>
        <div v-show="open">
          <Nuxt-link to="/projets">Projets</Nuxt-link>
          <Nuxt-link to="/articles">Articles</Nuxt-link>
          <Nuxt-link to="/a-propos">À propos</Nuxt-link>
          <Nuxt-link to="#mecrire">M'écrire</Nuxt-link>
        </div>
        <div @click="menu()">Menu</div>
    </header>
</template>

<script>
    export default {
        data: {
            open: true,
        },
        methods: {
            menu: function() {
                this.ouvert = false
            }
        },
    }
    
</script>

我的错误

enter image description here

推荐答案

为了让每个实例维护其数据的独立副本,data选项必须是一个返回对象的函数.

因此,在您的代码片段中,只需更新到:

export default {    
  data: () => ({
    open: true,   
  }),
}

有关更多信息,请参阅Vue文档中的100.


请注意,正如Lawrence所提到的,菜单打开功能(ouvert-->;open)中有一个小错误.

methods: {
  menu() { // Toggle menu open state
    this.open = !this.open;
  },
}

Javascript相关问答推荐

Express.js:以块形式发送响应

试图为每支球队生成类似于2024/25年欧洲足联冠军联赛瑞士系统格式的独特比赛配对

如何判断属于多个元素的属性是否具有多个值之一

togglePopover()不打开但不关闭原生HTML popover'

. NET中Unix时间转换为日期时间的奇怪行为

从WooCommerce Checkout Country字段重新排序国家,保持国家同步

如何在不创建新键的情况下动态更改 map 中的项目?

如何在Obsidian dataview中创建进度条

无法使用单击按钮时的useState将数据从一个页面传递到另一个页面

变量在导入到Vite中的另一个js文件时成为常量.

将异步回调转换为异步生成器模式

令牌JWT未过期

try 将Redux工具包与MUI ToggleButtonGroup组件一起使用时出错

为什么延迟在我的laravel项目中不起作用?

如何更改Html元素S的 colored颜色 ,然后将其褪色为原始 colored颜色

在JavaScript中,有没有一种方法可以迭代字符串的词法标记?

AG-GRIDreact 显示布尔值而不是复选框

如何使用puppeteer操作所有选项

TabNavigator和StackNavigator之间的Reaction Native中的导航问题

如何在Web项目中同步语音合成和文本 colored颜色 更改