首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实例js菜单问题

实例js菜单问题
EN

Stack Overflow用户
提问于 2022-04-22 11:21:45
回答 1查看 143关注 0票数 2

我试图为手机做一个简单的菜单,但我没有解决vue实例的问题。

我的组件nuxt菜单:

代码语言:javascript
复制
<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>

我的错误

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-22 11:23:11

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

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

代码语言:javascript
复制
export default {    
  data: () => ({
    open: true,   
  }),
}

有关更多信息,请参见Vue文档中的

附带注意,正如劳伦斯所提到的,菜单打开函数(ouvert -> open)中有一个小错误。如果要切换菜单,可以执行以下操作:

代码语言:javascript
复制
methods: {
  menu() { // Toggle menu open state
    this.open = !this.open;
  },
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71967932

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档