vue本页面跳转不刷新
生活随笔
收集整理的這篇文章主要介紹了
vue本页面跳转不刷新
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
當前頁面有四個按鈕,每個按鈕跳轉的頁面都是自己本身,只不過內容不一樣。(需要調用后端api查詢方法)
使用vue祖傳的push()方法來挑轉的話,你會發現可以跳轉過去,但是頁面會刷新。不會觸發vue生命周期函數。
解決辦法:三種方式自己看需要使用。
方式一:
this.$router.replace({ path: '/case-detail', query: { caseId: this.detailInfo.parentId } }) this.caseFan() //添加頁面初始化獲取數據的方法 這樣子可以就實現了頁面跳轉 而且是新的數據。但是有一個問題,但我們點擊返回 是想返回上一個詳情頁.這樣子頁面棧丟失了返回不到上一個案件詳情了方式二:
let newUrl = this.$router.resolve({path: "/case-detail",query: {caseId: this.detailInfo.parentId,},});window.open(newUrl.href, "_self");使用a鏈接的跳轉方式,去跳轉 ,測試發現不能使用 _self屬性 在當前頁面打開,也是地址欄變化,不會刷新,可能也需要添加初始化的方法去收取數據;以及一些其他屬性 : _blank 打開新的頁面是執行vue的生命周期 ,想想也是一個新的頁面肯定會執行一次。方式三:監聽路由
watch: {$route() {//監聽相同路由下參數變化的時候,從而實現異步刷新// this.loading = true;//重新獲取數據this.caseFan();},},總結
以上是生活随笔為你收集整理的vue本页面跳转不刷新的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 感动!刘若英和陈升的那些往事
- 下一篇: html5倒计时秒杀怎么做,vue 设