目录
一、v-model 原理
二、表单类组件封装
三、v-model简化组件封装代码
一、v-model 原理
原理:v-model本质上是一个语法糖。例如应用在输入框上,就是 value属性 和 input事件 的合写。
作用:提供数据的双向绑定
① 数据变,视图跟着变 :value
② 视图变,数据跟着变 @input
注意:$event 用于在模板中,获取事件的形参
<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 )