通过 props 进行路由传递 出现延迟的问题?
http://localhost:8080/#/productsSecond/11
export default {
name: "ProductsSecond",
props: ["id"], // 这个id值是productsSecond路由给了,是一个路由参数
components: {
ProductsSecondOne,
ProductsSecondTwo,
ProductsSecondThree,
TalbroLeftNavBar,
Pagers,
},
}
第一次调用是可以正常获取到路由动态参数的;在代码复用后,调用 beforeRouteUpdate
这个函数来调用请求数据的函数,路由的动态参数就变的不准了。获取到是上一次点击的参数;beforeRouteUpdate(to, from, next) {to}
但是 to
里面的参数值是准确的,然后我用定时器包裹我要请求的函数,动态参数就是准了;
beforeRouteUpdate(to, from, next) {
// 监听页面的url参数变化时从新请求数据
console.log('to.name', to.name);
if (to.name === "ProductsSecond") {
console.log('to', to);
this.handleCategoryPage();
window.setTimeout(() => {
this.handleCategoryPage();
}, 50);
next();
}
},
是不是beforeRouteUpdate组件守卫被调用的时候,路由参数还没有变动啊!
我想我应该知道问题了,beforeRouteUpdate应该时在路由跳转前调用的;应该是这样。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论