1. 引入router的时候,通常的做法是在一个js模块中,写法如下,但是这样会有一个性能问题,如果是服务端渲染时,每次请求都会生成一个新的router,内存不会释放,导致内存泄漏
export default new Router({
// mode: 'history', //后端支持可开
scrollBehavior: () => ({ y: 0 }),
routes: constantRouterMap //路由配置
})
比较好的处理方式是,利用方法动态生成路由对象
export default creaeRouter(){
return new Router({
// mode: 'history', //路径不会默认添加#
scrollBehavior: () => ({ y: 0 }),
routes: constantRouterMap //路由配置
})
}
new Vue({
el: '#app',
router: creaeRouter()
store,
render: h => h(App)
})
2. linkExactActiveClass 与 linkActiveClass :配合router-link使用,router-link实际是一个a标签,可以添加全局样式
3.scrollBehavior(to,from,savePosiont){
if(savePostion){ return savePostion
}else{ return{ x:0 ,y:0}
}
}
4. base:‘/base/’ //默认路径会加/base/
5. parseQuery(query){ //自定义路由query解析方法
}
6. stringfyquery(obj){
}
优化Vue Router避免内存泄漏
本文探讨了在Vue.js项目中使用Router时可能遇到的内存泄漏问题,详细介绍了如何通过动态生成路由对象来解决这一问题,同时涵盖了linkExactActiveClass与linkActiveClass的使用、scrollBehavior的定制以及base路径的设置等关键知识点。
935

被折叠的 条评论
为什么被折叠?



