社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
单页面应用: 基于路由和组件
实现vue组件之间交互 --》 会被解析为 a href ⇒ 为什么不直接使用a?? 单页面应用,只有主页面一个.html ,a标签无用
监听onhashchange()事件, 仅hash符号之前的内容会被包含在请求中。
路径和组件对应起来,在页面中把组件渲染出来
页面实现(HTML模板中)
定义页面中点击 :to =" 去哪”
显示的地方
js配置路由
注入Vue根实例进行使用
const app = new Vue({
router
}).$mount(’#app’)
用户点击 router-link标签时,会去寻找to属性。它的to属性和js中配置的路径(path:’/home’, component: Home) path 对应。找到匹配的组件,最后把组件渲染到标签所在的地方
出错点
Non-nested routes must include a leading slash character. Fix the following routes:
非嵌套路由必须包含前导斜杠字符
访问网站并登陆成功, 显示页面+名字 ==》 名字不同。user 是一个组件。不同用户【id不同】 =》同一个user组件中 =》 路由不能写死
vue-router 动态部分: 以:开头
route: {
path:“user/:id”,
component: user
}
动态路由来回切换,组件不发生变化,只能使用watch来监听$route的变化
==嵌套路由 ===》 childrens
编程式导航
从图可以看出,通过hash方式进行路由会有一个丑陋的 # 。因此就有了基于history的方法实现
声明是history模式
缺陷: 直接访问二级页面或在页面刷新,会出现404 错误 ==》 重定向
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!