vue语法v-model原理与实现

vue model 编程技术
发布日期 2023-07-16 更新日期 2023-07-16 阅读次数 122 文章字数 586

在vue官方文档中说到,v-model只是语法糖

在v-model内部为不同的输入元素使用不同的属性并抛出不同的事件

  • text-textarea元素使用value属性和input事件
  • checkbox和radio使用checked属性和change事件
  • select字段将value作为prop并将change作为事件

按照顺序,是先触发事件然后在事件里修改对应的值,如果没有触发对应的事件【例如js直接修改元素属性值,并不会触发dom元素对应的事件】,就无法双向绑定了。

手工实现v-model例子:

  <div id="app">
    <p>v-model绑定的数据为:{{value1}}</p>
    <input type="text" v-model="value1">

  <p>绑定的数据为:{{value2}}</p>
  <input type="text" :value="value2" @input="changeVal">
  </div>
  <script src="./lib/vue.js"></script>
  <script>
    const vm = new Vue({
      el: '#app',
      data: {
        value1: '',
       value2: ''
      },
    methods: {
      changeVal (e) {
        this.value2 = e.target.value
      }
    }
    })
  </script>

 

 


文章作者: 朱丰华

文章链接: https://smart.52dixiaowo.com/blog/post-451.html

版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。

vue model

发表评论