• vue中 给router-view 组件的 绑定 key 的原因


    1. 不设置 router-view 的 key 属性
      由于 Vue 会复用相同组件, 即 /page/1 => /page/2 或者 /page?id=1 => /page?id=2 这类链接跳转时, 将不在执行created, mounted之类的钩子, 这时候你需要在路由组件中, 添加beforeRouteUpdate钩子来执行相关方法拉去数据

    相关钩子加载顺序为: beforeRouteUpdate

    1. 设置 router-view 的 key 属性值为 $route.path
      从/page/1 => /page/2, 由于这两个路由的$route.path并不一样, 所以组件被强制不复用, 相关钩子加载顺序为:
      beforeRouteUpdate => created => mounted

    从/page?id=1 => /page?id=2, 由于这两个路由的$route.path一样, 所以和没设置 key 属性一样, 会复用组件, 相关钩子加载顺序为:
    beforeRouteUpdate

    1. 设置 router-view 的 key 属性值为 $route.fullPath
      从/page/1 => /page/2, 由于这两个路由的$route.fullPath并不一样, 所以组件被强制不复用, 相关钩子加载顺序为:
      beforeRouteUpdate => created => mounted

    从/page?id=1 => /page?id=2, 由于这两个路由的$route.fullPath并不一样, 所以组件被强制不复用, 相关钩子加载顺序为:
    beforeRouteUpdate => created => mounted
    本文转载自:https://blog.csdn.net/Terenceno/article/details/90033967

  • 相关阅读:
    英语语法学习
    react-hook
    rrweb手机端录屏,pc端使用
    uni-app
    日期
    Mongodb 保存地理信息 并实现范围检索
    webpack2.2API阅读笔记
    react-lazyload
    项目中常用的各个依赖包的解释
    Android-----test----monkeyrunner
  • 原文地址:https://www.cnblogs.com/smart-girl/p/11375350.html
Copyright © 2020-2023  润新知