vue3中addRoute路由變化頁面未刷新問題解決

路由變化瞭但頁面沒有更新

按著vue2的寫法寫vue3 發現路由變化瞭但頁面沒有更新

搜索瞭半天沒有解決辦法。

想瞭半天覺得是重復用同一個對象,vue為瞭節約性能就沒有新建, 被vue3給優化瞭

解決辦法,每次addRoute時 深復制組件對象

import time from "../views/time"
function copyObj(obj) {
    if (typeof obj == "object") {
        if (Array.isArray(obj)) {
            let arr = [];
            for (let item of obj) {
                arr.push(Object.assign(copyObj(item)));
            }
            return arr;
        } else if (obj == null) {
            return null;
        } else {
            let obj1 = {};
            for (let index in obj) {
                obj1[index] = copyObj((obj[index]));
            }
            return obj1;
        }
    } else if (typeof obj == "function") {
        return Object.assign(obj);
    } else if (typeof obj == undefined) {
        return undefined;
    } else {
        return obj;
    }
}
window.pushTime = function () {
    let t = new Date().getTime();
    let path = `/time/${t}`;
    time = copyObj(time)
    this.$router.addRoute({
        path,
        name: path,
        component: time,
    });
    this.$router.push({
        path,
    });
}

以上就是vue3中addRoute路由變化但頁面未更新問題解決的詳細內容,更多關於vue3 addRoute頁面刷新的資料請關註WalkonNet其它相關文章!

推薦閱讀: