美文网首页
h5路由使用keepalive

h5路由使用keepalive

作者: 小小_128 | 来源:发表于2022-07-01 10:18 被阅读0次

最近踩坑踩到keepalive了

keepalive作用:缓存组件内部状态,避免重新渲染
换句话来说,当这个A页面跳转至B页面再通过this.$router.replace进入A页面时,不会进入mounted生命周期

可我需要从B页面url携带参数返回A页面,怎么办呢?

路由守卫的钩子函数!!!

beforeRouteEnter(to, from, next) {
  console.log(this, 'beforeRouteEnter'); // undefined
  console.log(to, '组件独享守卫beforeRouteEnter第一个参数');
  console.log(from, '组件独享守卫beforeRouteEnter第二个参数');
  console.log(next, '组件独享守卫beforeRouteEnter第三个参数');
  next(vm => {
    //因为当钩子执行前,组件实例还没被创建
    // vm 就是当前组件的实例相当于上面的 this,所以在 next 方法里你就可以把 vm 当 this 来用了。
    console.log(vm);//当前组件的实例
  });
}

页面实战中应用如下

beforeRouteEnter(to, from, next) {
  // 当前路由keepalive
  next((vm) => {
    vm.data = to.query ? to.query : vm.data;
    console.log('vm.data', vm.data);
    vm.communityUuid = String(vm.data.communityUuid);
    if (vm.data.phone) {
      vm.phoneValue = String(vm.data.phone);
    }
    if (vm.data.communityName) {
      vm.communityName = decodeURIComponent(vm.data.communityName);
    }
    // 从房屋二维码过来的,housesAddress直接赋值,并且记录方式
    vm.typeCheck = vm.data.housesAddress ? 'fwewm' : '';
    if (vm.typeCheck === 'fwewm') {
      vm.housesAddress = decodeURIComponent(vm.data.housesAddress);
      vm.housesUuid = vm.data.houseUuid;
    }
  });
}

最后真机调试显示的是这样


image.png

相关文章

  • h5路由使用keepalive

    最近踩坑踩到keepalive了 keepalive作用:缓存组件内部状态,避免重新渲染换句话来说,当这个A页面跳...

  • BGP

    用于AS之间交换路由信息可靠性:利用TCP传输;定期keepalive消息保活;路由更新包中使用AS_PATH记录...

  • keepAlive缓存

    keepAlive 第一步:首页在router文件需要缓存的组件路由元(即meta)中加入keepAlive的键值...

  • React-Router知识点

    路由的分类 页面路由 hash 路由 h5路由 react路由 react-router-dom 路由方式 h5路...

  • 如何使vue2路由后退不刷新

    1. 设置路由为两种情况,路由meta.keepAlive为true/false,true则运行缓存路由组件,fa...

  • Router 原理及 React-Router

    页面路由(浏览器路由) 页面会刷新 hash路由 页面不会刷新,之前做单页应用,使用的传统方法。 h5 路由 h5...

  • vue实现多级路由的思维

    一级路由包含二级路由再包含更多的子路由,需要缓存的页面用keepalive 包括就OK,但是每次回到上级路由,是否...

  • react实现锚点

    实现锚点滚动,不要使用 标签,会引发路由跳转。我们使用H5的新增API,scrollToAnchor 以前使用 标...

  • Hash Vs H5 History

    当大家在写较为复杂一点的SPA时,都会使用到路由。 前端路由有两种模式: Hash模式 H5 history 模式...

  • keepalive和nginx高可用

    1,keepalive vrrp 虚拟路由器冗余协议,防止单点故障。 2,配置文件 cat /etc/keepal...

网友评论

      本文标题:h5路由使用keepalive

      本文链接:https://www.haomeiwen.com/subject/nrccbrtx.html