前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Vue是如何触发组件更新的?

Vue是如何触发组件更新的?

作者头像
越陌度阡
发布2022-05-06 15:08:47
1K0
发布2022-05-06 15:08:47
举报

Vue是数据驱动的一个视图框架,所谓数据驱动就是DOM是通过数据来映射的,只有在数据改变的情况下视图才会发生改变。

正常情况下千万不要手工去操作DOM,这样会引发一些不可预知的问题产生。

Vue中的数据主要来自三个部分:

1. 来自父元素的属性props;

2. 来自组件自身的状态data;

3. 来自状态管理器vuex;

状态data与属性props的区别:

1. 状态是组件自身的数据;

2. 属性是来自父组件的数据;

3. 状态的改变未必会触发更新;

4. 属性的改变未必会触发更新;

属性触发组件更新的必要条件:

1. 模板中绑定的变量必须是响应式的的;

2. 模板中绑定的变量必须显示的声明为响应式的,响应式数据如果有多层级的,不能只声明外层数据;

3. 模板中没有用到的变量,即使修改了也不会触发组件的更新;

Vue在实例化的时候,会对data下面的数据进行getter和setter的转化,所谓的转化就是对这个数据做了一个中间的代理层,不管是取数据也好,还是设置数据重新赋值也好,都会经过代理层然后去执行相应的操作。组件在渲染的时候,data里面的数据在模板中用到了它,就会把它放到watcher中,在wacher中的数据修改时就会触发组件更新,反之,如果没有用到数据就不会进入watcher中,修改这些数据时就不会触发组件更新。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-04-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档