vue解决menu菜单刷新是不选中的问题思路

<template>
    <div>
        <!-- <button v-for="menu in menus" :class="[isActive === menu.value ? 'bg-color' :'']" :key="menu.name" @click="activeMenu(menu)"> -->
        <button v-for="menu in menus" :class="isActive === menu.value ? 'bg-color' :''" :key="menu.name" @click="activeMenu  = menu.name">
      {{ menu.name }}
    </button>
    </div>
</template>

<script setup>
import { ref, onMounted,watch } from 'vue';
const menus = [
   { name: 'home', label: 'Home',value:1 },
   { name: 'about', label: 'About',value:2 },
   // ...其他菜单项
 ];
const isActive = ref(false)

 const activeMenu = ref(localStorage.getItem('activeMenu') || 'home');
console.log('0',activeMenu.value);
 
// 监听activeMenu的变化来更新localStorage
watch(activeMenu, (newValue) => {
  localStorage.setItem('activeMenu', newValue);
});
 
onMounted(() => {
  // 页面加载完成后,从localStorage中恢复activeMenu的值
  activeMenu.value = localStorage.getItem('activeMenu') || 'home';
});
</script>

<style lang="scss" scoped>
.bg-color{
   color: aqua;
}
</style>

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值