Vue 實現手動刷新組件的方法
開發(fā)過程遇到了一個問題,就是我的 router-view 里面渲染出來的組件輸入數據之后,我點擊 路由視圖外邊的導航欄 router-link 按鈕,可以實現清除 router-view 里面的數據,也就是使組件重新渲染。vm.$forceUpdate()這個方法可以使當前組件調用這個方法時,重新渲染組件。給 router-view 標簽添加 key 屬性將 key 綁定的值放在狀態(tài)管理容器里面,通過 狀態(tài)管理容器的 mutations 或者 actions 觸發(fā) key 值的變化,即可實現重新渲染組件的目的。相關實現代碼如下
// 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 標簽的Layout 組件

觸發(fā) viewid,使 router-view 對應的路由組件刷新的地方,比如導航欄組件。
methods: {
fresh() {
this.$store.dispatch("view/setViewId")
}
}
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
解決在vue項目中,發(fā)版之后,背景圖片報錯,路徑不對的問題
下面小編就為大家分享一篇解決在vue項目中,發(fā)版之后,背景圖片報錯,路徑不對的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-03-03
解讀element-ui使用el-upload,before-upload函數不好使的問題
這篇文章主要介紹了解讀element-ui使用el-upload,before-upload函數不好使的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03

