当前位置: 首页 > news >正文

天台建设局网站恒一信息深圳网站建设公司2

天台建设局网站,恒一信息深圳网站建设公司2,做网站的商标是哪类,什么是网络营销?网络营销的目的有哪些内容?目录 【1】问题描述【2】问题排查前 - 页面渲染、tag 页签渲染 逻辑梳理页面渲染【借用别人的描述】router-view :keykey /1. 不设置key 属性2. 设置 key 属性值为 $route.path/page/1 /page/2/page?id1 /page?id2, 3. 设置 key 属性值为 $rou… 目录 【1】问题描述【2】问题排查前 - 页面渲染、tag 页签渲染 逻辑梳理页面渲染【借用别人的描述】router-view :keykey /1. 不设置key 属性2. 设置 key 属性值为 $route.path/page/1 /page/2/page?id1 /page?id2, 3. 设置 key 属性值为 $route.fullPath/page/1 /page/2/page?id1 /page?id2 tag 页签渲染 【3】问题排查【4】解决 【1】问题描述 首次打开页面弹框中有数据点击 tag 页签关闭当前页面 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6056d67fceb249b983066dc077dea36e.png再次打开弹框数据不展示 【2】问题排查前 - 页面渲染、tag 页签渲染 逻辑梳理 页面渲染 keep-aliverouter-view :keykey / /keep-alivekey 作为路由页面唯一标识这里 key 为页面 fullPath 拼接当前时间戳 拼接时间戳以确保唯一性避免不同页面 fullPath 一致 【借用别人的描述】router-view :keykey / https://blog.51cto.com/knifeedge/5627137 Vue 会 复用相同组件对于路由有 多个子路由 来说当在 子路由来回切换 时会导致 页面不刷新 的问题因为不再执行 created 和 mounted 这些钩子函数。router-view :key“key“/ 中的 key 即可解决这个问题。 官网里边有一句Vue 为你提供了一种方式来表达 “这两个元素是完全独立的不要复用它们” 。只需添加一个具有唯一值的 key attribute 即可缺点加了路由的key值Vue就会认为这不是同一个组件update的时候会删除这个组件再重新加载一个新的组件有严重的性能问题。比如 在后台系统中点击侧导航菜单子菜单时设置了:key$route.path会导致菜单关闭又打开视觉效果不好。且如果新的组件未加载完成时获取数据则会导致新加载的组件内没有得到数据赋值。 ------ 最后这句和本文章所描述问题有关 代码示例 templatesection classapp-maintransition namefade-transform modeout-inrouter-view :keykey //transition/section /templatescript export default {name: AppMain,computed: {key() {return this.$route.fullPath}} } /script1. 不设置key 属性 Vue 会复用相同组件, 即 /page/1 /page/2 或者 /page?id1 /page?id2 这类链接跳转时, 不执行created, mounted之类的钩子, 这时候你需要在路由组件中添加beforeRouteUpdate钩子来执行相关方法拉去数据 相关钩子函数为: beforeRouteUpdate 2. 设置 key 属性值为 $route.path /page/1 /page/2 由于这两个路由的$route.path不一样, 所以组件被强制不复用, 相关钩子加载顺序为: beforeRouteUpdate created mounted /page?id1 /page?id2, 由于这两个路由的$route.path一样, 所以和没设置 key 属性一样, 会复用组件, 相关钩子加载顺序为: beforeRouteUpdate 3. 设置 key 属性值为 $route.fullPath /page/1 /page/2 由于这两个路由的$route.fullPath不一样, 所以组件被强制不复用, 相关钩子加载顺序为: beforeRouteUpdate created mounted /page?id1 /page?id2 由于这两个路由的$route.fullPath不一样, 所以组件被强制不复用, 相关钩子加载顺序为: beforeRouteUpdate created mounted tag 页签渲染 项目中每访问一个页面就将页面路由信息保存在 visitedViews 数据中tag 页签 就是 通过 visitedViews 数据使用 router-link 来渲染从而实现点击 tag 页签 页面路由跳转的效果。 【3】问题排查 上图 紫色框 为 问题描述1 中页面组件 红色框 为 问题描述3 中页面组件经过 问题描述2 后问题描述1 的组件不会被复用因为 router-view :keykey / 有 key 再次进入页面时产生了一个新的页面组件也就是 红色框 【问题排查过程】 仔细排查代码发现 → 问题描述 中页面未展示的 数据获取 是在 beforeRouteEnter 中进行的此时还 未产生新的组件 红色框的组件→ 所以获取到的数据其实 赋值给了旧的不被复用组件 中紫色框的组件 → 导致红色组件加载渲染完毕后 beforeRouteEnter 中获取的数据并未正确展示展示。新旧组件 两个组件其实 展示的页面是一个只不过因为 router-view :keykey / 中 有 key 所以导致当前页面 第一次被关掉 之后在打开的时候 key 中拼接的 时间戳 与第一次打开的组件key中的 时间戳不一致所以回产生一个 新的组件而 不会复用旧组件。 【4】解决 beforeRouteEnter 中获取数据 改为 在 mounted 钩子中获取数据 mounted 是页面渲染完成后调用的钩子也就是新组件此时已加载完毕此时获取数据并进行赋值操作都是在新组件中进行。
http://www.pierceye.com/news/593718/

相关文章:

  • 珠海网站怎样建设网页设计相关网站
  • 网站推广服务好公司排名山西网站建设免费
  • 金乡县网站建设曲靖建设局网站
  • 唐山制作网站的公司深圳市做网站知名公司
  • 深圳方维网站建设公司全面启动门户网站建设
  • 住房和城乡建设部网站证书查询企业推广产品有什么平台好
  • 建立企业网站的目的手机排行榜软件
  • 自己做网络棋牌网站流程wordpress 自定义数据库
  • 北京网站建设厂家个人养老保险
  • 办公室门户网站建设和管理工作360排名优化工具
  • 楚天网站建设合同蜘蛛云建网站怎样
  • 建设一个小说网站企业网站 数据库设计
  • 最简单的网站开发软件有哪些ui设计外包
  • 网站主页排版重庆装修公司排名前十名
  • 网站建设得花多钱设计网站的软件
  • 辽阳企业网站建设团队网络营销与直播电商课程
  • 枣庄网站建设电话临沂广润网站建设
  • 长春市制作网站费用郑州网站专业制作
  • 婚恋网站排名前十名淘宝客网站开发一个
  • 泰国网站的域名物流公司哪家便宜又好
  • 找工作的平台seo第三方点击软件
  • 青岛市建设监理协会网站网站开发工作量评估
  • 深圳网站设计与制作公司德州万企互联网站制作
  • 制作一个链接网站400电话网站模板
  • 网站建设网站网站建设网站濮阳网站建设网站
  • 追天网站建设 优帮云网页设计基础入门
  • 北京网站的建立的wordpress mofile
  • 在网上做翻译的网站私募网站建设
  • 网站建设明薇通网络服务好企业官网网站建设免费
  • php开发企业网站教程企业网站怎么建设公司