vue2全家桶知识点及个人理解

本文详细探讨了Vue2的原理、优势与不足,包括MVVM模式、Object.defineProperty实现数据绑定、虚拟DOM、Diff算法与Key的关系。同时,深入讲解了Vue的生命周期、组件通信、路由原理、Vuex管理和项目优化策略。此外,还介绍了Vue的高级特性如插槽、动态组件、过渡动画,以及Vue-Loader的作用。
摘要由CSDN通过智能技术生成

以下内容是个人整理的v2知识点和一些概念,帮助自己记忆的。如有错误欢迎纠正。
vue
以数据驱动视图的渐进式MVVM框架
渐进式:循序渐进的使用vue,可选择性强,可以只是用其中的一些小功能,不必完全使用。
MVVM:vm视图层 通过接口从后台m层请求数据,vm视图层和view层实现数据的双向绑定。
MVC:m:mode v:view c:控制器 数据改变控制页面也改变

vue底层原理
-原理:Object.defineProperty 通过getter和setter来劫持数据,实现数据的双向绑定
-vue
优点:虚拟dom,数据驱动,双向绑定,模块化开发,浏览器兼容好
缺点:由于是js生成的虚拟dom,不利于seo爬虫获取,首屏加载相对于静态页慢

data为什么是一个函数
是因为作用域的问题,函数有自己的作用域,这样data就是专属于这个组件的。如果是对象的话会提升。多个组件的data就会产生冲突

什么是虚拟dom
就是js动态生成的dom叫做虚拟dom,虚拟dom不会引发回流和重绘,性能更好
不同场景使用不同,看是否要频繁的触发大面积内容的更新

diff算法和key的关系
diff算法:同层对比,只要发现不一致的节点,就用新的替换旧的。
因为diff算出来的dom没有跟踪标识,当循环出来的dom列表任意一个元素被修改,就无法找到。但是当加了key之后,就相当于给每个元素都加了唯一标识,当想要修改时直接修改对应元素就行,节省性能。key值必须是唯一的,不推荐使用下标和随机数

生命周期
四个阶段八个函数,最大的争议为在哪发起ajax请求。服务端渲染在created发起。服务端只有创建阶段。
创建阶段:
beforeCreate:骨架屏占位,日志上传
Created:发起ajax请求。
挂载阶段:
beforeMounted:对一些数据进行初始化
Mounted:发起ajax请求
更新阶段:
beforeUpdate:二次对更新的数据进行修改
Updated:只能观察到更新后的数据
卸载阶段:
beforeDestroy:清除常驻垃圾,对用户离开进行提示
Destroyed
-组件初次挂载生命周期
创建阶段和挂载阶段
-父组件和子组件的生命周期
父 beforeCreate created beforeMounted
子 beforeCreate created beforeMounted mounted
父 mounted beforeUpdate
子 beforeUpdate Updated
父 Updated beforeDestroy
子 beforeDestroy Destroyed
父 Destroyed
都是在before前阶段执行子组件的生命周期
- 子组件更新过程
父beforeUpdate -> 子beforeUpdate -> 子Updated -> 父Updated
- 父组件更新过程
影响到子组件 父beforeUpdate ->

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值