您好,登錄后才能下訂單哦!
開發(fā)過程遇到了一個(gè)問題,就是我的 router-view 里面渲染出來的組件輸入數(shù)據(jù)之后,我點(diǎn)擊 路由視圖外邊的導(dǎo)航欄 router-link 按鈕,可以實(shí)現(xiàn)清除 router-view 里面的數(shù)據(jù),也就是使組件重新渲染。vm.$forceUpdate()這個(gè)方法可以使當(dāng)前組件調(diào)用這個(gè)方法時(shí),重新渲染組件。給 router-view 標(biāo)簽添加 key 屬性將 key 綁定的值放在狀態(tài)管理容器里面,通過 狀態(tài)管理容器的 mutations 或者 actions 觸發(fā) key 值的變化,即可實(shí)現(xiàn)重新渲染組件的目的。相關(guān)實(shí)現(xiàn)代碼如下
// store/view.js const state = { viewId: 1 }; const getters = { getViewId: state => { return state.viewId; } }; const mutations = { setViewId: (state, payload) => { state.viewId++; } }; const actions = { setViewId: (context, payload) => { context.commit("setViewId", payload); } }; export default { namespaced: true, state, getters, mutations, actions };
放置 router-view 標(biāo)簽的Layout 組件
觸發(fā) viewid,使 router-view 對應(yīng)的路由組件刷新的地方,比如導(dǎo)航欄組件。
methods: { fresh() { this.$store.dispatch("view/setViewId") } }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。