Solution, deep copy the component object every time 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, }); }
The above is the detailed content of How to solve the problem when the addRoute route changes but the page is not updated in vue3. For more information, please follow other related articles on the PHP Chinese website!