通过 props 进行路由传递 出现延迟的问题?

发布于 2022-09-13 00:24:21 字数 964 浏览 10 评论 0

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文