首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以使用本地存储来节省导航抽屉的可见性?

是否可以使用本地存储来节省导航抽屉的可见性?
EN

Stack Overflow用户
提问于 2022-04-13 18:59:09
回答 2查看 151关注 0票数 0

我有个导航抽屉

<v-navigation-drawer ...content... </v-navigation-drawer>

还有一个菜单按钮,它隐藏/显示导航抽屉。

<v-btn @click.stop="drawer = !drawer"> Menu </v-btn>

如果刷新/更改页面,则需要单击按钮再次显示/隐藏导航抽屉。是否有可能使用本地存储器。

https://v2.vuejs.org/v2/cookbook/client-side-storage.html

...to“保存”导航-抽屉是否隐藏/访问?

我已经检查了文档/ googled,但无法找到如何做到这一点。

EN

回答 2

Stack Overflow用户

发布于 2022-04-14 06:45:18

是的,您可以简单地使用localStorage来实现

演示:

代码语言:javascript
复制
new Vue({
  el: '#app',
  data: {
    drawer: false
  },
  mounted() {
    const localStorageValue = JSON.parse(localStorage.drawer);
    this.drawer = localStorageValue ? localStorageValue : false;
  },
  methods: {
    setDrawer() {
     this.drawer = !this.drawer
     localStorage.drawer = this.drawer;
    }
  }
})
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
  <button @click.stop="setDrawer">Menu</button> <!-- replace this with vuetify v-btn component -->
  <div v-if="drawer">Show Me!</div> <!-- replace this with v-navigation-drawer component -->
</div>

票数 2
EN

Stack Overflow用户

发布于 2022-04-13 19:14:05

您提供的链接具有必要的信息,您需要在安装组件时从本地存储读取抽屉状态,并在状态更改时保存它。

在您的@click处理程序中调用方法toggleDrawer(),而不是像这个@click.stop="toggleDrawer()"那样的drawer = !drawer,或者在抽屉变量上使用一个观察者,并在它更改时更新localStorage。

代码语言:javascript
复制
const app = new Vue({
  el: '#app',
  data: {
    drawer: false
  },
  mounted() {
    // Read value from local storage
    if (localStorage.drawer) {
      this.drawer = JSON.parse(localStorage.drawer);
    }
  },
  methods: {
    toggleDrawer() {
      this.drawer = !this.drawer;
      // Save value in local storage
      localStorage.drawer = this.drawer;
    }
  }
})
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71862618

复制
相关文章

相似问题

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