模板语法 & vue指令

这章讲模板语法 & vue指令

一模板语法

模板插值是将数据从组件的模型绑定到视图的一种常用方式。插值表达式通常用于文本内容的输出,可以使用两种语法:双大括号 {{ }}v-bind 指令。(这两个比较常用)

双括号法


 
 

 
 
 

另一种vue2中常用写法对比



v-bind 指令

使用 v-bind 或简写 : 可以将数据绑定到 HTML 属性中。

后面指令会细讲



写个小案例吧(先不急看懂,只是说明用法,等后面学到了回头看)




  
  
  Vue 3 Template Interpolation Example
  


  

{{ message }}

你已经点击了 {{ count }} 次

{{ user.name }} - {{ user.age }} 岁

解释

  1. 创建响应式数据

    • 使用 ref 创建一个响应式数据 count
    • 定义非响应式数据 message 和响应式数据对象 user
    • 定义 rawHtml 来存储原始 HTML 内容。
  2. 模板插值

    • {{ message }}:显示一个简单的字符串。
    • {{ count }}:显示响应式数据 count 的值。
    • {{ user.name }} 和 {{ user.age }}:显示对象 user 的属性。
    • v-html="rawHtml":将原始 HTML 内容渲染到 div 中。
  3. 事件绑定

    • @click="count++":绑定一个点击事件监听器,每次点击按钮时增加 count 的值。

运行效果

  1. 页面会显示一个段落元素,包含文本 "Hello, Vue 3!"。
  2. 有一个段落元素显示 "你已经点击了 x 次",其中 x 是点击按钮的次数。
  3. 有一个段落元素显示 "张三 - 28 岁"。
  4. 有一个 div 元素显示加粗文本 "这是加粗文本"。
  5. 有一个按钮,每次点击时,段落元素中的计数会增加。

这个示例展示了 Vue 3 中模板插值的基本用法,包括文本插值、表达式插值、对象属性绑定和原始 HTML 插值。

二setup(简单知道代码格式要怎么写就行了,后面再单独将这个讲)

这是 Vue 3 引入的一种新方式,使得编写组件更加简洁和直观,特别是在使用组合式 API 时。 ### 使用 `ref` 和 `reactive` ### 使用 `computed` 和 `watch` ### 使用 `props` 和 `emits` ### 使用 TypeScript ### 样式和类 ### 解释 1. **基础示例**: - `submit` 函数在按钮点击时被调用。 2. **使用 `ref`**: - 使用 `ref` 创建响应式数据 `message`。 3. **使用 `computed`**: - 使用 `computed` 创建一个计算属性 `capitalizedMessage`,它将 `message` 转换为大写。 4. **使用 `props` 和 `emits`**: - 使用 `defineProps` 定义组件的 props。 - 使用 `defineEmits` 定义组件的 emits。 5. **使用 TypeScript**: - 使用 TypeScript 定义类型。 6. **样式和类**: - 使用 `:class` 绑定动态类。 ` ### 解释 1. **绑定属性**: - `:src="imageSrc"` 将 `img` 标签的 `src` 属性绑定到 `imageSrc` 数据属性。 2. **绑定 class**: - `:class="{ active: isActive, 'text-danger': hasError }"` 根据 `isActive` 和 `hasError` 的值动态绑定 class。 3. **绑定 style**: - `:style="styleObject"` 将 `div` 标签的 `style` 属性绑定到 `styleObject` 数据对象。 4. **绑定组件 prop**: - `:user-name="userName"` 将 `my-component` 组件的 `user-name` prop 绑定到 `userName` 数据属性。 `v-bind` 指令是 Vue 中最常用的指令之一,它为动态 DOM 更新提供了强大的支持。

2. v-model

`v-model` 是 Vue.js 中用于在表单控件元素上创建双向数据绑定的指令。它不仅会绑定输入控件的值到数据属性,还会监听输入事件来更新数据。

以下是 `v-model` 的一些基本用法:

### 文本输入







### 多行文本







### 复选框







### 单选按钮







### 下拉选择







### 自定义组件







### 修饰符

- `.trim`:输入时自动去除首尾空白字符。
- `.number`:输入转换为数值类型。
- `.lazy`:在 `change` 事件而不是 `input` 事件之后更新数据。







### 注意事项

- `v-model` 在 `