vue中v-model可以实现数据的双向绑定,但是为什么这个指令就可以实现数据的双向绑定呢?

其实v-model是vue的一个语法糖。即利用v-model绑定数据后,既绑定了数据,又添加了一个input事件监听。

实现原理:

1、v-bind绑定响应数据

2、触发input事件并传递数据

简单案例:

<input v-model="text"></input>
// 等价于:
<input :value="text" @input="text = $event.target.value"></input>
// 组件中使用:
<custom-input :value="text" @input="$event"></custom-input>
// 根据v-model原理模拟:
<input type="text" id="ipt1">
<input type="text" id="ipt2">
<script>
var ipt1=document.getElementById('ipt1');
var ipt2=document.getElementById('ipt2');
ipt1.addEventListener("input",function(){
ipt2.value=ipt1.value;
})
</script>

最新文章

  1. Swift - 进度条(UIProgressView)的用法
  2. [c] base64
  3. AngularJs angular.element
  4. hdu-acm steps Max sum
  5. cocos2dx使用了第三方库照样移植android平台-解决iconv库的移植问题
  6. some websit
  7. 求教。。 为什么加载到servlet页面显示空白或者一直加载页面没显示也没错误?
  8. C++11的for循环,以及范围Range类的实现
  9. JAVA_3lesson
  10. linux vi快捷键大全
  11. Android adb不是内部或外部命令 (转)
  12. CSS基础3——使用CSS格式化元素内容的字体
  13. C#记录日志、获取枚举值 等通用函数列表
  14. JNI错误总结(转)
  15. Asp.Net WebApi核心对象解析(二)
  16. CF1153F Serval and Bonus Problem FFT
  17. day31 作业试题讲解
  18. pytorch种, 一维Conv1d, 二维Conv2d
  19. lua --- 局部变量
  20. Oracle DROPtable以及Truncate table 的简单测试

热门文章

  1. [转帖]最佳 Linux 发行版汇总
  2. SQL入门经典(第四版)学习记录——欢迎来到SQL世界(一)
  3. PS错误1
  4. Python笔记004-Python最基本内置数据类型和运算符
  5. go slice切片注意跟数组的区别
  6. go 数组的定义和赋值
  7. 【规律】Farey Sums
  8. 少儿编程Scratch第四讲:射击游戏的制作,克隆的奥秘
  9. 1.ASP.NET Core Docker学习-Docker介绍与目录
  10. Ubuntu Server 18.04 无法修改 hostname