vue2.0 实现v-model

父组件

<template>
  <div id="app">
    {{username}} <br/>
    <my-input type="text" v-model="username"></my-input>
  </div>
</template>

<script>
import myinput from './components/myinput'
export default {
  name: 'App',
  components:{
      myinput
  },
  data(){
    return {
      username:''
    }
  }

}
</script>

子组件

<template>
    <div class="my-input">
        <input type="text" class="my-input__inner" @input="handleInput"/>
    </div>
</template>

<script>
    export default {
        name: "myinput",
        props:{
            value:{ //获取父组件的数据value
                type:String,
                default:''
            }
        },
        methods:{
            handleInput(e){
                this.$emit('input',e.target.value) //触发父组件的input事件
            }
        }
    }
</script>

我自己是在自己定义的upload组件里面用的
原文地址:juejin.cn/post/6990237380372332551

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 5
cnguu

好像漏了model:{}

1年前 评论
周小云 (楼主) 1年前
cnguu (作者) 1年前
周小云 (楼主) 1年前
周小云 (楼主) 1年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!