前端路由的两种实现方式:
spa 单页面应用,页面不刷新,但是要切换页面(组件)
希望路径变化,但是不刷新页面,hash跳转时更改hash值,并且监听哈市变化
h5api history api 来进行跳转,跳转时去匹配组件。
history.pushState({}, null, ‘/a’);
window.addEventListener(“popstate”, function(){console.log(window.location.pathname)})
// hash / history popState来监控
// 在创建 /a => /a 兼容性不好
在创建vue实例的时候,会传入vue路由的实例,
Vue.use(VueRouter); // 内部会调用这个VueRouter插件的install方法。
所有的插件都会暴露Vue的install方法。
{
path: “/about”,
name: “About”,
component: About,
children:[
{
path: “a”,
component: {
render() {
hahhahahha在这里插入代码片
}
}
}
]
}
Vue.use = function(plugin) {
plugin.install(this);
}
Vue.use(VueRouter);
class VueRouter {
}
// 为了保证VueRouter内部不需要依赖Vue,用户在使用插件时可以传入
VueRouter.install(Vue) {
}
在这里插入代码片