中国建设银行网站招聘,湖北企业建站系统信息,网站开发包括网站过程,广州平台网站搭建问题#xff1a;
首先定义了一个路由#xff0c;并且在路由元里面存储了一个变量#xff0c;在App.vue里面访问这个变量的时候却显示undefined#xff01;在路由对应的组件中却能访问到#xff01;
定义的路由元信息#xff1a; 为啥访问不到…,懵逼的我在App.vue里…问题
首先定义了一个路由并且在路由元里面存储了一个变量在App.vue里面访问这个变量的时候却显示undefined在路由对应的组件中却能访问到
定义的路由元信息 为啥访问不到…,懵逼的我在App.vue里面打印了一下路由的所有信息如下 空的啥都没有连path都是“/”.
查了一些相关的资料发现问题出在组件的引入在路由引入组件时像下面这样就不会出问题。 App.vue里面也能正确读取到路由的信息了。
可是为什么第一种方法读取不到呢这里这里涉及到两个概念同步组件和异步组件。
异步组件
按需加载即只会在组件访问时才会加载其实就是懒加载。
同步组件:
就是依次加载所有的组件是一步执行完了才执行下一步的。
第一种路由引入方式其实就是异步引入这就会出现当访问该路由的之前还没有加载过相关信息也就是App.vue访问不到的原因了。
处理这样的情况可以有几种方法
同步组件但如果把所有的路由都同步引入会有一个缺点就是初次访问到的时候可能会很慢所以可以依据需求具体的同步或异步引入。延时处理路由依据异步引入但在App.vue组件中调用路由访问的组件的信息时做一个定时器setTimeOut可以设置1秒或几秒后在去获取相关的路由信息就可以了。可以通过location.href获取当前的url依据url中的参数去接收相关的信息。