日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > vue >内容正文

vue

记录一下使用vue/vuex+SSR框架遇到的bug

發(fā)布時(shí)間:2025/3/15 vue 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 记录一下使用vue/vuex+SSR框架遇到的bug 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

項(xiàng)目框架:vue+vuex+vue-server-render

問題描述:頁面中有個(gè)區(qū)塊通過state.jkyl (JSON Object)來控制是否需要顯示,頁面未登錄前jkyl的數(shù)據(jù)是為空的,待登錄后再重新獲取就有值了,但是頁面中的區(qū)塊依然不顯示

原因分析:在未登錄時(shí)獲取數(shù)據(jù)時(shí)為空了,導(dǎo)致state.jkyl對(duì)象的雙向綁定關(guān)系被清掉了。后面登錄后再賦值,沒有形成雙向綁定關(guān)系導(dǎo)致頁面視圖未更新。

處理方法:在賦值時(shí)加默認(rèn)值 {}, 見下方mutations.js的代碼

?

?

代碼示例如下:

store.js

const store = {

? ? jkyl = {}

}

actions.js

function getData(commit){

? ? ? ?// 這里是ajax

? ? ? ?axios.get('xxx').then((data) => {

? ? ? ? let product= data.data;

? ? ? ? ...

? ? ? ? ?commit('SET_ALL_DATA', {product});?

? ? ? })

}

mutations.js

const SET_ALL_DATA = (state, payload) => {

? let product?= payload.product;

? state.jkyl = product.jkyl; ?// 未登錄時(shí)這里為undefined了,所以沒有建立綁定關(guān)系,所以即使后面有值了,也不會(huì)更新視圖,解決辦法是加個(gè)默認(rèn)的空對(duì)象,用于維持雙向綁定:state.jkyl = product.jkyl || {}?

};

getters.js

const getJkyl = (state) => { state.jkyl }

home.vue

<templae>

<div>

...

?<dv v-if="jkyl && jkyl.list && jkyl.list.length"> ... </div>

...

</div>

</template>

<script>

export default {
? ? asyncData(){

  return Promise.all([this.getData()])

? ?},

? ? mounted() {

? ? ? ? ? ?// 監(jiān)聽登錄事件,再次發(fā)請(qǐng)求獲取數(shù)據(jù),這個(gè)時(shí)候jkyl是有值的,但是界面還是不顯示

? ? ? ? ? ?xxx.on('loginSuccess',() => { this.getData() });

? ?},

? ?methods: {

? ? ? ...mapActions(['getData'])

? ?},

? ? computed: {

? ? ? ? ? ...mapGetters({

? ? ? ? ? ? ?jkyl: 'getJkyl' ? ? ??

? ? ? ? ? })

? ?}

}

</script>

?

轉(zhuǎn)載于:https://www.cnblogs.com/mjian/p/9346773.html

新人創(chuàng)作打卡挑戰(zhàn)賽發(fā)博客就能抽獎(jiǎng)!定制產(chǎn)品紅包拿不停!

總結(jié)

以上是生活随笔為你收集整理的记录一下使用vue/vuex+SSR框架遇到的bug的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。