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){
}