這篇文章給大家分享的是有關(guān)vue如何實(shí)現(xiàn)點(diǎn)擊關(guān)注后及時(shí)更新列表功能的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供監(jiān)利網(wǎng)站建設(shè)、監(jiān)利做網(wǎng)站、監(jiān)利網(wǎng)站設(shè)計(jì)、監(jiān)利網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、監(jiān)利企業(yè)網(wǎng)站模板建站服務(wù),十多年監(jiān)利做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
Vue是一套用于構(gòu)建用戶界面的漸進(jìn)式JavaScript框架,Vue與其它大型框架的區(qū)別是,使用Vue可以自底向上逐層應(yīng)用,其核心庫(kù)只關(guān)注視圖層,方便與第三方庫(kù)和項(xiàng)目整合,且使用Vue可以采用單文件組件和Vue生態(tài)系統(tǒng)支持的庫(kù)開發(fā)復(fù)雜的單頁(yè)應(yīng)用。
如圖,我要實(shí)現(xiàn)點(diǎn)擊關(guān)注之后列表及時(shí)更新成最新的列表。
思路很簡(jiǎn)單,主要是兩點(diǎn):
1、在點(diǎn)擊關(guān)注之后去執(zhí)行一個(gè)請(qǐng)求新的關(guān)注列表的action;
2、在vue組件中watch監(jiān)聽已關(guān)注列表和推薦關(guān)注列表
主要代碼如下:
組件:
關(guān)注的methods:
followMethod(item){ if(this.token){ this.$store.dispatch('follow',{followUserId:item.pubId,page:this.page,size:this.size}); this.$set(item,"followStatus",true); // this.$store.dispatch('refreshFollowList',{page:0,size:this.size}); }else{ Toast({ message: "請(qǐng)先登錄", duration: 800 }); setTimeout(function () { this.$router.push('/login'); },800) } },
watch:
followList(curVal, oldVal){ console.log(curVal) }, userFollowList(curVal, oldVal){ console.log(curVal) },
followList.js vuex的列表module文件:
action:
follow({dispatch,commit},payload){ axios({ method:"post", url:"web/follow/add", headers: {'w-auth-token': Cookies.get('token')}, params:{ page:payload.page, size:payload.size }, data:{ followUserId:payload.followUserId } }).then((res) => { Toast("關(guān)注成功"); return dispatch('refreshFollowList') }).catch((error) => { Toast("關(guān)注出錯(cuò),請(qǐng)重試!"); }); } refreshFollowList({state,commit}){ if(token){ axios.all([ axios({ method:"get", url:"web/pub/recommend", headers: {'w-auth-token': token}, }), axios({ method:"get", url:"web/pub/list_pub_and_top_news", headers: {'w-auth-token': Cookies.get('token')}, }) ]).then(axios.spread(function(res1,res2){ commit("REFRESHFOLLOWLIST",res1); commit("REFRESHUSERFOLLOWLIST",res2); })); }else{ axios({ method:"get", url:"web/pub/recommend", }).then(function(res){ commit("REFRESHFOLLOWLIST",res); }); } },
mutation:
const mutations = { REFRESHFOLLOWLIST(state,res){ state.followList=res.data.content; state.totalPages=res.data.totalPages; }, REFRESHUSERFOLLOWLIST(state,res){ state.userFollowList=res.data.content; state.userTotalPages=res.data.userTotalPages; }, };
感謝各位的閱讀!關(guān)于“vue如何實(shí)現(xiàn)點(diǎn)擊關(guān)注后及時(shí)更新列表功能”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!