美文网首页
vue 中的 v-model 双向数据绑定 实现原理,实现v-m

vue 中的 v-model 双向数据绑定 实现原理,实现v-m

作者: 柚子硕 | 来源:发表于2019-12-20 16:28 被阅读0次
1. input 的 v-model 语法糖

首先我们需要了解v-model的原理

<template>
  <div id="test">
    ## 使用v-model 将input 的值与official绑定,实现了双向数据绑定
    <input type="text" v-model="official" />

    ## 下面是v-model的原理,基于 v-bind 和 v-on 封装的语法糖,$event.target获取事件源,实现了双向数据
    <input type="text" v-bind="custom" v-on:input="custom = $event.target.value" />
  </div>
</template>
<script>
export default {
  data() {
    return {
      official: "",
      custom: ""
    };
  }
};
</script>
2.v-model绑定自定义组件

有时候我要需要暴露出组件内的值,使用v-model是最简易的方法

一个组件上的 v-model 默认会利用名为 value 的 prop 和名为 input 的事件,但是像单选框、复选框等类型的输入控件可能会将 value 特性用于不同的目的。model 选项可以用来避免这样的冲突
关于Prop可以查看这篇文章 https://www.jianshu.com/p/67f2de4f47bf

## 子组件内
<template>
  <div>
    <el-input v-model="input" @input="search" placeholder="请输入内容"></el-input> //绑定 input 事件 checked 和 
  </div>
</template>

<script>
export default {
  name:"searchInput",
  data() {
    return {input: ""}},
    model: {
      prop: "value",
      event: "change"
    },
    props: {
      value: { //value 和 model内prop的值一致
        type: String,
        default: ""
      }
    },
    methods: {
      search(event) {
        this.$emit('change',event) //事件名和model内event的值一致
      }
    }
};
</script>

##父组件内
<search-input v-model="getValue"><search-input> //getValue的值将会传入子组件名为 value的 prop

【有收获请点个赞哦~~】

相关文章

  • 深入Vue响应式原理

    1.Vue的双向数据绑定 参考 vue的双向绑定原理及实现Vue双向绑定的实现原理Object.definepro...

  • vue 双向数据绑定

    Vue实现数据双向绑定的原理:Object.defineProperty()vue实现数据双向绑定主要是:采用数据...

  • vue表单

    vue中表单主要通过v-model实现数据的双向绑定,实现原理主要通过javascript的object.defi...

  • Vue实现数据双向绑定的原理

    Vue实现数据双向绑定的原理:Object.defineProperty() vue实现数据双向绑定主要是:采用数...

  • Vue 实例 一

    Vue实例基础一 数据的双向绑定 v-model 绑定表单的相应事件,和数据实现动态的双向绑定,需要在Vue实例中...

  • 【转】JavaScript的观察者模式(Vue双向绑定原理)

    关于Vue实现数据双向绑定的原理,请点击:Vue实现数据双向绑定的原理原文链接:JavaScript设计模式之观察...

  • (33)Vue购物车

    用v-model来双向绑定input控制checkbox是否选中 Vue中双向数据绑定是如何实现的 positio...

  • Vue 表单双向数据绑定原理简析

    v-model 指令实现双向数据绑定 vue实现数据双向绑定主要是:采用 数据劫持结合发布者-订阅者模式 的方式,...

  • v-model原理

    1. v-model是什么? 在表单控件或者组件上实现双向绑定 2. v-model 原理: vue的双向绑定是由...

  • 前端理论面试--VUE

    vue双向绑定的原理(详细链接) VUE实现双向数据绑定的原理就是利用了 Object.definePropert...

网友评论

      本文标题:vue 中的 v-model 双向数据绑定 实现原理,实现v-m

      本文链接:https://www.haomeiwen.com/subject/duvrnctx.html