1.在Vue中v-model最简单最常用的数据双向绑定
它是Vue框架中的指令,主要结合表单元素一起使用(文本框,复选框等)
<template>
<div>
<!-- v-model数据双向绑定 -->
<input type="text" v-model="msg">
<span>{{msg}}</span>
</div>
</template>
<script>
export default {
data() {
return {
msg:'今天也要加油'
}
},
}
</script>
实现效果
2.深入研究v-model
实现父子组件通信,即实现数据同步
实现原理:用value和input事件实现
父组件:
<!-- v-model 父子组件通信
:value是父组件传给子组件的props
@input是自定义事件-->
<child type="text" :value="msg" @inputmsg="msg=$event"/>
<!-- 简写形式 -->
<child v-model="msg"/>
子组件:
<template>
<div>
<!-- :value是动态属性
@input是原生dom事件
接收的值是父组件传递的msg-->
<input type="text" :value="value" @input="$emit('inputmsg',$event.target.value)">
<span>{{value}}</span>
</div>
</template>
<script>
export default {
props:['value']
}
</script>