鍍金池/ 問(wèn)答/HTML/ nuxt中nuxt中asyncData參數(shù),頁(yè)面刷新后上下文store的值為空的

nuxt中nuxt中asyncData參數(shù),頁(yè)面刷新后上下文store的值為空的問(wèn)題

功能需求:
首頁(yè)和列表頁(yè)各有一個(gè)搜索框,在首頁(yè)輸入搜索內(nèi)容跳轉(zhuǎn)到搜索頁(yè)執(zhí)行搜索

nuxt實(shí)現(xiàn):
在首頁(yè)將searchKeyWords字段存入vuex,再到搜索頁(yè)獲取searchKeyWords字段,執(zhí)行搜索

問(wèn)題:
從首頁(yè)跳轉(zhuǎn)到搜索頁(yè)后,頁(yè)面刷新后,通過(guò)上下文store獲取searchKeyWords,store里的數(shù)據(jù)竟然是空的

async asyncData({ store, params }) {
            let searchParams = {
                keyword: store.state.searchKeyWords,  //此處打印searchKeyWords竟然是空的
                pageNo: 1,
                pageSize: 10
            }
            let { result } = await API.searchMethod(searchParams);
            return {
                searchData:resul
            }
        }

但是vuex里面是有數(shù)據(jù)的

clipboard.png

回答
編輯回答
青裙

你刷新的時(shí)候 實(shí)際上 store的值是清空的, 你可以 console.log一下, 有時(shí)候插件是無(wú)法實(shí)時(shí)更新的, 你看下 nuxt官網(wǎng)的 路由鑒權(quán) https://zh.nuxtjs.org/example... 要將要保存的用戶(hù)信息存到session里面的, 然后通過(guò) nuxtServerInit 周期 寫(xiě)入到前端層, 當(dāng)然 官網(wǎng)這里還有一些問(wèn)題, 這里中間層用到的 session模塊 是只能在開(kāi)發(fā)模式下, 生成模式是無(wú)法運(yùn)行的, 要用 redis

2017年4月4日 22:18