Vue | 青训营笔记

41 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 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官网