請問vue組件如何reload或者說vue-router如何刷新當前的route??
使用場景為增加商品表單,用戶確定提交後,繼續新增,需要清理之前用戶輸入數據,並對其初始化,再走一遍組件載入的流程,其中還包括幾個子組件,如果手動去處理實在是太麻煩!!
已找到方法
router.go(0)
這個router是定義的vue-router,例如:
const router = new Router({})
把這個export導出,在需要的組件里import引用
// replace another route (with different component or a dead route) at first
// 先進入一個空路由
vm.$router.replace({
path: "/_empty",
})
//then replace your route (with same component)
vm.$router.replace({
path: "/student/report",
query: {
"paperId":paperId
}
})
利用v-if控制router-view,在根組件APP.vue中實現一個刷新方法
&
&
&
&
然後其它任何想刷新自己的路由頁面,都可以這樣:
this.$root.reload()
最近遇到了這個問題,我的寫法:
methods:{
newPage: function(){
/*所有頁面初始化流程掛載於此*/
...
}
},
created(){ newPage() },
watch:{
user_id() { newPage(); }
}
不動路由,應該能滿足題中需求。
我寫了一個中轉路由,先push,然後go(-1);
這個和·window.location.reload();有什麼區別·
//mode: "history"
去掉就行了
參考下這個issue
[Feature] A reload method like location.reload() · Issue #296 · vuejs/vue-router
我遇到的問題是部署到IIS上,Refresh 就是404了,因為請求發送給了IIS,IIS按照請求路徑去查找找不到指定文件。
使用 Web Storage吧,數據就能保留住了
&
&
&
&
&
&
&
&
&
&
&
&
&
推薦閱讀:
※Vue剛出不久,Vuex 就出來了,想請教下Vuex做了什麼事情?
※Vuejs .vue里怎麼引入第三方js和css呢比如jquery的輪播插件 要引入js和css?
※Vue中到底是什麼是父組件,什麼是子組件?
TAG:Vuejs |