多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
[TOC] ### vuex的适用场景以及简单理解 ### vue-router原理 ### 虚拟dom diff算法原理 ### vue生命周期created 以及mounted的适用问题 ### 单页以及多页的使用 ### 双向数据流以及单向数据流的使用场景 作为常识要知道双向数据流是组件内,组件之间是不会建议双向数据流的。那么剩下的就描述下双向单向的特点以及为什么是这样的。 双向数据流是指页面的数据与js内存中的数据可以互相影响,双向流动,最常见是表单元素的值,那么在组件内使用双向数据流主要是为了便利性,方便数据的读写以及相关操作,而不用自己在额外写对应的代码。而vue内部一些控件实现了双向数据流实际是针对表单元素写的一个语法糖,当你触发change事件的时候,设置其绑定的值。 而单向数据流一般是用于组件之间,或者vux的模块之间,这样设计主要是为了: 1 避免组件之间的互相传递影响,因为组件内的数据和组件外的数据同时双向绑定,会造成数据的多来源、多响应,还会导致不必要的数据改变。 2 数据的单向数据流也是为了分析业务流,数据流向,进行统一的基于应用的一些数据管理。 ### 双向绑定的原理简析 ### v-for指令针对每个循环项目添加key是为了什么 首先知道vue核心是虚拟dom以及dom对比的diff算法,那么如果不进行key设置的话,其寻找对应的元素会比较费时,计算比较复杂,而key的作用就是为虚拟dom的节点添加标识,在其寻找以及渲染的时候能更快的定位虚拟节点。具体的可以参考一篇文章:[vue v-for key的作用](https://www.cnblogs.com/zhumingzhenhao/p/7688336.html) > 官网的说法 : > 当Vue更新使用的元素列表时v-for,默认情况下它使用“就地补丁”策略。如果数据项的顺序已更改,则Vue将移动DOM元素以匹配项的顺序,而不是就地修补每个元素,并确保它反映应该在该特定索引处呈现的内容。这类似于track-by="$index"Vue 1.x中的行为。 > 此默认模式是有效的,但仅在列表呈现输出不依赖于子组件状态或临时DOM状态(例如,表单输入值)时才适用。 > 为Vue提供一个提示,以便它可以跟踪每个节点的标识,从而重用和重新排序现有元素,您需要key为每个项目提供唯一属性。理想的值key是每个项目的唯一ID。这个特殊属性与track-by1.x中的粗略等价,但它的作用类似于属性,因此您需要使用v-bind它将其绑定到动态值(在此使用速记) ### 高阶组件 ### vue使用进阶时考虑的问题