资讯专栏INFORMATION COLUMN

关于Vue生命周期的思考[zzky]

zilu / 2676人阅读

摘要:关于生命周期的思考关于组件生命周期,官方图示在开发过程中遇到关于生命周期的问题,整理分享下跳转同名路径的问题问题来自跳转同名路径的问题在社区交流中对于新手经常遇到这个问题。如何强制更新组件的生命周期解决办法是数据更新的时候。

关于Vue生命周期的思考

关于Vue组件生命周期,官方图示:

在开发过程中遇到关于生命周期的问题,整理分享下:

Vue-router跳转同名路径的问题

问题来自:vue-router 跳转同名路径的问题

在社区交流中对于新手经常遇到这个问题。为什么跳转相同路由不能跳转?对于新手来说,跳转和不跳转的区别在于数据有没有更新。

新手在用Vue-router 的时候,没有关注当前Vue实例(vm)中添加route 。回归到话题问题当访问.../page/110这个路由的时候, 开始装载Vue-router 中注册page对应Vue实例。 我们先约定是 page.vuepage.vue 开始它的生命周期,如果没有使用过Vue-route会根据经验把数据更新写到 created 或者 ready 阶段。路由切换了,但是created ready 阶段都过了,装数据的盒子准备好了。但是数据更新的时期过了导致不能更新。

这时候,我们需要把数据更新的时机换到路由切换的时候。

如下代码:

export default {
      ...
    route: {
        data(transition) {
           //更新数据的方法    
        }       
    }
      ...
};

这样路由切换的时候,更新数据,也就是所谓的跳转了。

注意:更新params query 都适用

利用v-if强制结束组件的生命周期

基于上面如何更新子组件?一般情况下,同样更新数据放倒 route.data 中即可,向子组件中传递数据。随着route切换更新子组件数据。

开发过程中,遇到的一个特殊的例子。把轮播图做成组件,在这个组件中ready后,开始使用轮播插件。轮播插件是会破坏html结构。导致不能数据更新的时候,不能更新View。这时候解决办法是再让子组件带着新数据走一轮生命周期。

如何强制更新组件的生命周期?解决办法是 route.data 数据更新的时候。让子组件 v-if="false" ,异步获取数据之后,再 v-if="true"

说了一堆废话,汇总下:v-if 会影响子组件的生命周期。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/78992.html

相关文章

  • 关于Vue2一些值得推荐文章 -- 五、六月份

    摘要:五六月份推荐集合查看最新的请点击集前端最近很火的框架资源定时更新,欢迎一下。苏幕遮燎沈香宋周邦彦燎沈香,消溽暑。鸟雀呼晴,侵晓窥檐语。叶上初阳乾宿雨,水面清圆,一一风荷举。家住吴门,久作长安旅。五月渔郎相忆否。小楫轻舟,梦入芙蓉浦。 五、六月份推荐集合 查看github最新的Vue weekly;请::点击::集web前端最近很火的vue2框架资源;定时更新,欢迎 Star 一下。 苏...

    sutaking 评论0 收藏0
  • 关于Vue2一些值得推荐文章 -- 五、六月份

    摘要:五六月份推荐集合查看最新的请点击集前端最近很火的框架资源定时更新,欢迎一下。苏幕遮燎沈香宋周邦彦燎沈香,消溽暑。鸟雀呼晴,侵晓窥檐语。叶上初阳乾宿雨,水面清圆,一一风荷举。家住吴门,久作长安旅。五月渔郎相忆否。小楫轻舟,梦入芙蓉浦。 五、六月份推荐集合 查看github最新的Vue weekly;请::点击::集web前端最近很火的vue2框架资源;定时更新,欢迎 Star 一下。 苏...

    khs1994 评论0 收藏0
  • 你想知道vue实例

    摘要:如果在实例创建之后添加新的属性到实例上,它不会触发视图更新。在配置数据观测编译模板挂载实例到,然后在数据变化时更新的过程中,实例会调用一些生命周期钩子。 vue的实例 vue构造器 每个Vue.js应用都是通过 构造函数Vue 创建一个 Vue的根实例 启动的: 我们首先复习一下构造函数 function a(){ } // 当一个函数用来创建一个实例的时候,就叫做构造函数 // 我们...

    dendoink 评论0 收藏0
  • Vue2.0思考

    摘要:原创此文章是本人初步理解关于的模式父子组件通信生命周期计算属性方法及侦听器的记录笔记。 (原创)此文章是本人初步理解关于Vue的MVVM模式、父子组件通信、生命周期、计算属性、方法及侦听器的记录笔记。 MVVM模式 m(模型层)v(视图层)p(控制器) showImg(https://segmentfault.com/img/remote/1460000015851383); m(...

    Yuanf 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<