这是我参与「第五届青训营 」伴学笔记创作活动的第 13 天
在做大项目的过程中,我们考虑过制作react组件库还是vue组件库,虽然经过投票我们选择了制作react组件库,但vue仍然需要认真学习,总结一下基本知识点。
核心功能
Vue 的两个核心功能:
- 声明式渲染:Vue 基于标准 HTML 拓展了一套模板语法,使得我们可以声明式地描述最终输出的 HTML 和 JavaScript 状态之间的关系。
- 响应性:Vue 会自动跟踪 JavaScript 状态并在其发生变化时响应式地更新 DOM。
单文件组件
API风格:这里为了高内聚,模式更加强大,倾向于选择组合式api
模板语法:文本插值
Attribute 绑定:使用v-bind:key='value' 简写语法 :key='value' 动态绑定一个对象:通过不带参数的v-bind
指令:具有v-前缀的特殊attribute,如v-bind,v-html,v-for,v-on,v-slot
响应式基础
响应式对象其实是 JavaScript Proxy,其行为表现与一般对象相似。 Vue 能够跟踪对响应式对象属性的访问与更改操作。
通过reactive()函数创建一个响应式对象或数组
使用ref()定义相依式变量,可以创建所有值类型的引用机制,ref()
将传入参数的值包装为一个带 .value
属性的 ref 对象,ref在模板中会被解包,不需要.value;被嵌套在响应式对象中是也会被解包;
计算属性
描述依赖响应式状态的复杂逻辑
默认只读,使用缓存来提高性能,不应该有副作用,避免直接修改计算属性值
类与style绑定
绑定类 :class
绑定样式:style
二者都可以使用表达式或者使用键值的方式绑定响应式变量
条件渲染
v-if
是真实的按条件渲染,因为它确保了在切换时,条件区块内的事件监听器和子组件都会被销毁与重建。
v-if
:如果在初次渲染时条件值为 false,则不会做任何事。条件区块只有当条件首次变为 true 时才被渲染。
v-if
有更高的切换开销,而 v-show
有更高的初始渲染开销。因此,如果需要频繁切换,则使用 v-show
较好;如果在运行时绑定条件很少改变,则 v-if
会更合适。
参考vue.js官网