vue自定义一个v-model

  1. 目标

    <template>
        <my-form v-model="form">
        </my-form>
    </template>
    <script>
        export default {
            data() {
                return {
                    form: ''
                }
            }
        }
    <script>
    
  2. 实现

    // my-form组件
    <template>
        <form>
            <input v-model="model.val1" />
            <textarea v-model="model.val2"></textarea>
        <form>
    </template>
    <script>
    	export default {
        	model: {
            	prop: 'model',
                event: 'change'
            },
            props: {
            	model: Object
            }
            watch: {
            	model(val){
                	this.$emit('change', val)
                }
            }
        }
    <script>
    
posted @ 2018-06-21 09:20  xyfun  阅读(261)  评论(0)    收藏  举报