开发者社区 问答 正文

v-model 的原理?

已解决

v-model 的原理?

展开
收起
pandacats 2019-12-10 11:11:34 651 分享 版权
1 条回答
写回答
取消 提交回答
  • 采纳回答

    我们在 vue 项目中主要使用 v-model 指令在表单 input、textarea、select 等元素上创建双向数据绑定,我们知道 v-model 本质上不过是语法糖,v-model 在内部为不同的输入元素使用不同的属性并抛出不同的事件:

    text 和 textarea 元素使用 value 属性和 input 事件;

    checkbox 和 radio 使用 checked 属性和 change 事件;

    select 字段将 value 作为 prop 并将 change 作为事件。

    以 input 表单元素为例:

    相当于

    如果在自定义组件中,v-model 默认会利用名为 value 的 prop 和名为 input 的事件,如下所示:

    父组件:

    子组件:

    <div>{{value}}</div>
    
    props:{
    
        value: String
    
    },
    
    methods: {
    
      test1(){
    
         this.$emit('input', '小红')
    
      },
    
    },
    
    2019-12-10 11:12:27
    赞同 展开评论
问答地址: