this.$route.query.pid获取为undefined 注意自己有没有写错
如果是这种方式(方式2),那么在app.vue中你如果先要在 created 或者 mounted 中,通过 this.$route.query.xx 的方式去获取xx参数的值,那就是拿不到的,如果改为方式1,那就可以取得到了。猜想的原因应该是:项目启动,懒加载方式,路由加载注册的时候没有加载 path:'/' 下的 $route ...
看到这,我怀疑是this的锅,将视频id的赋值放到异步请求外,发现输出了undefined,离谱... 这说明路由没有这个值,对这个方法进行一下DEBUG。 可以发现,路由中果然没有这个值... 我记得还有一种方式传递,是在路径后加?参数名=xxx,并用this.$route.query.xxx得到它的值,说干就干! 进行...
1.query方式的传参和参数的接收 注意:传参是this.$router,接收参数是this.$route $router为VueRouter实例,想要导航到不同URL,则使用$router.push方法 $route为当前router跳转对象,里面可以获取name、path、query、params等 //传参: this.$router.push({ path:'/xxx', query:{ id:id } }) //接收参数: th...
params传参,push里面只能是 name:‘xxxx’,不能是path:’/xxx’,因为params只能用name来引入路由,如果这里写成了path,接收参数页面会是undefined!!! 另外,二者还有点区别: 接收参数 // query通过this.$route.query接收参数 created () { const id = this.$route.query.id; ...
如果是这种方式(方式2),那么在app.vue中你如果先要在 created 或者 mounted 中,通过this.$route.query.xx的方式去获取xx参数的值,那就是拿不到的,如果改为方式1,那就可以取得到了。 猜想的原因应该是:项目启动,懒加载方式,路由加载注册的时候没有加载path:'/'下的$route...
log(this.$route); // 检查this.$route是否定义 } } 如果this.$route是undefined,那么问题可能出在上述的某个环节。根据控制台输出的this对象,你可以进一步确定问题所在。 希望这些步骤能帮助你解决问题!如果问题仍然存在,请检查是否有其他配置或代码错误影响到了Vue Router的正常工作。
this.$route 表示当前路由对象,每一个路由都会有一个 route 对象,是一个局部的对象,可以获取对应的 name, path, params, query 等属性。 关于push() 方法: 想要导航到不同的 URL,则使用 router.push 方法。这个方法会向 history 栈添加一个新的记录,所以,当用户点击浏览器后退按钮时,则回到之前的 URL。
:{ //获取店铺信息 fetchData () { this.shopid=this.$route.query.shopid; //因为实时监听路由的变化执行该方法 当没有传入时console会报错 解决方法是没有传入参数时 给设置默认参数 if(this.$route.query.shopid==undefined){ this.shopid=1; } this.shopid=parseIntvue...
this.$route 表示当前路由对象,每一个路由都会有一个 route 对象,是一个局部的对象,可以获取对应的 name, path, params, query 等属性。 关于push() 方法: 想要导航到不同的 URL,则使用 router.push 方法。这个方法会向 history 栈添加一个新的记录,所以,当用户点击浏览器后退按钮时,则回到之前的 URL。