摘要:导航解析流程:1、导航被触发2、在失活的组件里调用beforeRouteLeave离开守卫3、调用全局的beforeEach守卫4、在重用的组件里调用beforeRouteUpdate守卫5、在路由配置里调用beforeEnter。6、解析异步路由组件7、在被激活的组件里调用beforeRouteE 阅读全文
posted @ 2020-02-25 23:11 xsan 阅读(70) 评论(0) 推荐(0) 编辑
摘要:组件导航守卫,就是组件中写守卫。也就是进入到这个组件之前会调用的方法。组件导航守卫大体分为:`beforeRouteEnter`、`beforeRouteUpdate`、`beforeRouteLeave`三个。 beforeRouteEnter:在进入组件之前调用的。在这里不能使用`this`,因 阅读全文
posted @ 2020-02-25 23:09 xsan 阅读(84) 评论(0) 推荐(0) 编辑
摘要:导航守卫: 就是导航过程中各个阶段的钩子函数。分为:全局导航守卫、路由导航守卫、组件导航守卫。 全局导航守卫: 在整个网页中,只要发生了路由变化,就会触发。全局导航守卫主要包含两个函数:beforeEach、afterEach。 beforeEach: 在路由发生了改变,但是还没有成功跳转的时候会调 阅读全文
posted @ 2020-02-25 22:49 xsan 阅读(165) 评论(0) 推荐(0) 编辑
摘要:重定向: 在定义路由的时候,可以通过添加`redirect`参数,重定向到另外一个页面。 routes: [{ path: "/", redirect: "/article" }] 别名: 在定义路由的时候,可以通过添加`alias`参数,表示该url的别名,以后也可以通过这个别名来访问到这个组件。 阅读全文
posted @ 2020-02-25 20:41 xsan 阅读(347) 评论(0) 推荐(0) 编辑
摘要:背景: 在一个url中(一个页面中)使用多个组件,此时,需要为组件进行命名,然后通过命名区分各组件的使用位置 用法: 1、在写路由时,将原先的`component`多加一个`s`改为`components`,并且以键值对的形式进行命名。 let router = new VueRouter({ ro 阅读全文
posted @ 2020-02-25 19:59 xsan 阅读(71) 评论(0) 推荐(0) 编辑
摘要:背景 `<router-link>`是在用户点击的情况下进行页面更新,但是有时候,我们想要在`js`中手动的修改页面的跳转,此时就需要“编程式导航”了。 方法 有三种方法: 1、`this.$router.push`:转到下一个`url`,会把新传入的url添加到浏览器的`history`中。 pu 阅读全文
posted @ 2020-02-25 17:35 xsan 阅读(168) 评论(0) 推荐(0) 编辑
摘要:背景: 在大的路由下面有时候需要一些字路由进行切换数据,那么这时候需要使用路由嵌套。 方法: 1、直接在父路由中添加`children`字路由,格式和父路由一样。 let router = new VueRouter({ routes: [{ path: "/", component: index, 阅读全文
posted @ 2020-02-25 16:03 xsan 阅读(100) 评论(0) 推荐(0) 编辑
摘要:404错误分为两种: 1> 页面中不存在该路由; 2> 页面中传递的参数在服务器端不存在,比如,个人中心是需要从后端获取数据的,但是你查询的用户是不存在的,此时也是404错误。 配置 在路由规则中,`*`代表的是任意字符。所以只要在路由的最后加一个`*`路由,那么以后没有匹配到的`url`都会被导入 阅读全文
posted @ 2020-02-25 14:49 xsan 阅读(973) 评论(0) 推荐(0) 编辑
摘要:在使用路由参数时,比如从`/our/Xsan`跳转到`/our/foo`,原来的组件实例会被复用。因为这两个路由都是渲染的同一个组件,比起销毁再重建,复用则显得更加高效。不过,这也就意味着组件的生命周期钩子函数将不会被再次调用。 解决办法: 1、监听`this.route`属性。通过判断`to`和` 阅读全文
posted @ 2020-02-25 11:23 xsan 阅读(138) 评论(0) 推荐(0) 编辑