Vue 3(1) | 青训营笔记

70 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的第5天 在大项目的框架选择中,我们组选了对新手更加友好的Vue,在此我记录下我学习Vue的过程。

什么是 Vue?

Vue 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,有助于高效地开发用户界面。

Vue的核心功能

  • 声明式渲染:Vue 基于标准 HTML 拓展了一套模板语法,使得我们可以声明式地描述最终输出的 HTML 和 JavaScript 状态之间的关系。
  • 响应性:Vue 会自动跟踪 JavaScript 状态变化并在改变发生时响应式地更新 DOM。

声明式渲染

通过扩展于标准 HTML 的模板语法,我们可以根据 JavaScript 的状态来描述 HTML 应该是什么样子的。当状态改变时,HTML 会自动更新。

响应性

能在改变时触发更新的状态被认为是响应式的。在 Vue 中,响应式状态被保存在组件中。

API 风格

Vue 的组件可以按两种不同的风格书写:选项式 API 和组合式 API

Attribute 绑定

在 Vue 中,mustache 语法 (即双大括号) 只能用于文本插值。为了给属性绑定一个动态值,需要使用 v-bind 指令:

<div v-bind:id="dynamicId"></div>

也可简写为:

<div :id="dynamicId"></div>

事件监听

可以使用 v-on 指令监听 DOM 事件:

<button v-on:click="increment">{{ count }}</button>

也可简写为:

<button @click="increment">{{ count }}</button>

表单绑定

可以同时使用 v-bind 和 v-on 来在表单的输入元素上创建双向绑定:

<input :value="text" @input="onInput">

为了简化双向绑定,Vue 提供了一个 v-model 指令:

<input v-model="text">

条件渲染

v-if 指令可以有条件地渲染元素:

<h1 v-if="awesome">Vue is awesome!</h1>

v-else 和 v-else-if 也可以用来表示其他的条件分支。