vue组件使用v-model数据双向绑定
2020-07-15 05:08
357 查看
1.表单 v-model
<input v-model="inputValue">
2.组件 v-model
- 父组件
// 父组件 <template> <button @click="showSon=!showSon">父组件:切换son的状态</button> <Son v-model="showSon"></Son> </template> <script> export default { data () { return { showSon: false // show 组件 } } } </script>
- 子组件
<!-- 子组件 --> <template> <div style="margin: 100px"> <button @click="$emit('change',!value)">子组件:切换传来的状态</button> <div>我收到了状态:{{value}}</div> </div> </template> <script> export default { model: { prop: 'value', event: 'change' }, props: { // 父组件用v-modal传来的value value: { type: Boolean, default: false } } } </script>
3.父组件传进来的 v-model
子组件中进行 v-model
绑定
// 子组件 <template> <div> // 1.错误:直接用props的value去v-modal (因为vue数据单向流,不能修改父级数据) // <input v-model="value"></input > // 2.可以:用input事件去和父级数据双向绑定 // <input :value="value" @input="$emit('change', $event.target.value)"> // 3.可以:监听状态'show',改变value `this.$emit('change', val)` // 监听状态'value',改变'show'状态 <van-popup v-model="show"></van-popup> </div> </template> <script> export default { model: { prop: 'value', event: 'change' }, props: { // 父组件用v-modal传来的value value: { type: Boolean, default: false } }, data () { return { show: false, }; }, watch: { value: { handler (val) { this.show = val }, immediate: true }, show: { handler (val) { this.$emit('change', val) }, immediate: true } } } </script> <style lang='scss' > </style>
相关文章推荐
- 【VUE】使用Table组件进行数据双向绑定
- Vue 双向数据绑定 V-model 通常配合input 使用
- vue.js使用v-model指令实现的数据双向绑定功能示例
- vue.js使用v-model实现表单元素(input) 双向数据绑定功能示例
- 关于vue2.2.0创建自定义组件v-model双向绑定数据
- AngularJs 在ng-repeat中动态使用ng-model进行双向数据绑定(二)
- AngularJs 在ng-repeat中动态使用ng-model进行双向数据绑定
- 使用Vue如何写一个双向数据绑定(面试常见)
- Vue的使用--输入框数据的双向绑定
- vue自定v-model实现表单数据双向绑定问题
- Vue组件内部实现一个双向数据绑定的实例代码
- vue2.0数据双向绑定与表单bootstrap+vue组件
- vue 数据双向绑定 v-model
- angular2在双向数据绑定时[(ngModel)]无法使用的问题
- 初探Vue原理之view-model的数据动态双向绑定
- 聊聊 Vue 的双向数据绑定,Model 如何改变 View,View 又是如何改变 Model 的
- vue 双向数据绑定( v-model和:model的区别 )
- vue.js自定义组件实现v-model双向数据绑定的示例代码
- Vue学习 双向数据绑定与v-model指令用法
- vue div contenteditable属性,模拟v-model双向数据绑定功能