第二十四章 v-model原理及v-model简化表单类组件封装

目录

[一、v-model 原理](#一、v-model 原理)

二、表单类组件封装

三、v-model简化组件封装代码


一、v-model 原理

**原理:**v-model本质上是一个语法糖。例如应用在输入框上,就是 value属性 和 input事件 的合写。

**作用:**提供数据的双向绑定

① 数据变,视图跟着变 :value

② 视图变,数据跟着变 @input

注意:$event 用于在模板中,获取事件的形参

html 复制代码
<template>
  <div id="app">
    <input v-model="msg1" type="text"><br><br>
    <input :value="msg2" @input="msg2 = $e.target.value" type="text"><br><br>
  </div>
</template>

<script>
export default {
 data () {
  return {
    msg1: '',
    msg2: ''
  }
 }
}
</script>

<style>

</style>

二、表单类组件封装

  1. 表单类组件 封装

① 父传子:数据 应该是父组件 props 传递 过来的,拆解 v-model 绑定数据

② 子传父:监听输入,子传父传值给父组件修改

三、v-model简化组件封装代码

父组件v-model简化代码,实现子组件和父组件数据双向绑定,等同于上面的表单类封装方法。

① 子组件中:props通过value接收,事件触发input

② 父组件中:v-model 给组件直接绑数据 ( :value + @input )

相关推荐
索西引擎29 分钟前
【React】key 属性:协调算法中的元素标识机制与最佳实践
前端·javascript·react.js
只会cv的前端攻城狮1 小时前
动态组件架构设计:从配置到事件驱动全链路解析
前端·vue.js
飞天狗1 小时前
Next.js 16 App Router 实战:服务端组件与流式渲染
前端·next.js
万敏1 小时前
Vue3 全栈实战第二周:Pinia + Vite + Router + axios 完整记录
vue.js·node.js·全栈
OpenTiny社区1 小时前
TinyEngine 2.11版本发布:AI 进一步融入画布,Vue 工程可一键转DSL
前端·vue.js·github
小雪_Snow1 小时前
JavaScript 中的三种常用事件
开发语言·前端·javascript
Hyyy1 小时前
Electron-Vite是什么,和Vite有什么区别
前端·面试
蓝胖子酱2 小时前
在 Electron 中用 electron-store 实现加密存储与自定义格式文件
前端·javascript·数据库
虚焦像素_2 小时前
海康 Web 插件版接入指南:用法与注意事项
前端
虚焦像素_2 小时前
海康 Web 无插件版接入指南:用法与注意事项
前端