nuxt项目跳转新页面session丢失

996 阅读1分钟

使用nuxt开发项目时候 碰到跳转新页面session丢失的问题

项目顶部有个菜单导航栏,就是使用一些普通的标签h1等做出来的,这些标签都对应不同的路由,一级菜单都是用h1写的,鼠标悬浮时候会有二级菜单,问题就是出在二级菜单上了,因为二级菜单是使用 nuxt-link写的

页面大概结构是这样

<h1 :class="item.url==fullPath ? 'wid_he_100 actived' : 'wid_he_100'" @click="goHref(item.url)">{{item.mainTitle}}</h1>  //一级菜单
<i class="down" v-if="item.childList.length>0"></i>  //下拉icon
<ul class="zi_list" v-if="item.childList.length>0">
    <li class="zi_list_li" v-for="(listItem,idx) in item.childList" :key="idx"> 二级菜单
        <nuxt-link :to="'/'+item.url" target="_blank" class="wid_he_100">{{listItem.mainTitle}}</nuxt-link>
    </li>
</ul>

主标题h1写是因为seo要求 h1的点击跳转就使用js window.open 新窗口了 最开始nuxt-link的跳转 是绑定to路由地址 和target="_blank"属性

但是都可以实现跳转但是问题是 登录以后 会在session中存用户信息,window.open的页面打开以后,session中的东西都还在 nuxt-link打开的session就是空的,很费解session在相同域名下不是共享的吗?

费了好大劲也没有找到原因 后来改写二级的菜单跳转方式 也改成使用js window.open来打开新窗口

<li class="zi_list_li" v-for="(listItem,idx) in item.childList" :key="idx" @click="goHref(listItem.url)"> 二级菜单
    {{ listItem.mainTitle }}
</li>

这样就把问题解决了 但是还是很费解nuxt-link的跳转为什么不能共享session 可能需要看源码才能找到答案吧,小白一枚,希望大佬多多指点