vue实现简单数据双向绑定


Posted in Vue.js onApril 28, 2021

本文实例为大家分享了vue实现简单数据双向绑定的具体代码,供大家参考,具体内容如下

这里是简单的实现,有助于新手理解消化,当然vue要实现双向数据代理不可缺少,期待后续在更新

vue双向数据绑定

-> Object.defineProperty() //2.0核心语法
-> 数据代理
-> 双向绑定
-> 订阅发布模式
compile-> 模版解析 (template模版 html 指令 {{表达式}})
observer-> 观察者(订阅发布) data里的所有的属性进行 数据劫持 数据代理
watcher-> 监听 data里的所有的属性被改变之后触发

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <input type="text" id="ipt" />
    <p id="lc"></p>
  </body>
</html>
<script>
  //获取页面元素
  var ipt = document.getElementById("ipt");
  var ps = document.getElementById("lc");

  var obj = { name: "" };

  //vue双向数据绑定的核心原理应用
  Object.defineProperty(obj, "name", {
    get() {
      return ipt.value;
    },
    set(newval) {
      ipt.value = newval;
      ps.innerHTML = newval;
    },
  });

  //监听input中的数据变化并赋值p标签
  ipt.addEventListener("keyup", function() {
    ps.innerHTML = ipt.value;
  });
</script>

效果展示:

vue实现简单数据双向绑定

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Vue.js 相关文章推荐
vue使用vant中的checkbox实现全选功能
Nov 17 Vue.js
Vue.js桌面端自定义滚动条组件之美化滚动条VScroll
Dec 01 Vue.js
Vue3+elementui plus创建项目的方法
Dec 01 Vue.js
vue+element UI实现树形表格
Dec 29 Vue.js
解决vue使用vant轮播组件swipe + flex时文字抖动问题
Jan 07 Vue.js
vue3如何优雅的实现移动端登录注册模块
Mar 29 Vue.js
解决Vue+SpringBoot+Shiro跨域问题
Jun 09 Vue.js
Vue Element-ui表单校验规则实现
Jul 09 Vue.js
Vue组件更新数据v-model不生效的解决
Apr 02 Vue.js
vue-cli3.0修改打包后的文件名和文件地址,打包后本地运行报错解决
Apr 06 Vue.js
vue3引入highlight.js进行代码高亮的方法实例
Apr 08 Vue.js
解决vue自定义组件@click点击失效问题
Apr 30 Vue.js
vue引入Excel表格插件的方法
Apr 28 #Vue.js
原生JS封装vue Tab切换效果
vue项目两种方式实现竖向表格的思路分析
vue首次渲染全过程
浅谈vue2的$refs在vue3组合式API中的替代方法
Vue.js 带下拉选项的输入框(Textbox with Dropdown)组件
vue backtop组件的实现完整代码
You might like
PHP 多维数组的排序问题 根据二维数组中某个项排序
2011/11/09 PHP
PHP漏洞全解(详细介绍)
2012/11/13 PHP
PHP版 汉字转码的实现详解
2013/06/09 PHP
PHP goto语句简介和使用实例
2014/03/11 PHP
php实现高效获取图片尺寸的方法
2014/12/12 PHP
PHP直接修改表内容DataGrid功能实现代码
2015/09/24 PHP
阿里云PHP SMS短信服务验证码发送方法
2017/07/11 PHP
Laravel 5.4重新登录实现跳转到登录前页面的原理和方法
2017/07/13 PHP
Apache站点配置SSL强制跳转443
2021/03/09 Servers
优化网页之快速的呈现我们的网页
2007/06/29 Javascript
javascript正则表达式中参数g(全局)的作用
2010/11/11 Javascript
用JS提交参数创建form表单在FireFox中遇到的问题
2013/01/16 Javascript
Jquery post传递数组方法实现思路及代码
2013/04/28 Javascript
Javascript操作URL函数修改版
2013/11/07 Javascript
SpringMVC框架下JQuery传递并解析Json格式的数据是如何实现的
2015/12/10 Javascript
JS生成某个范围的随机数【四种情况详解】
2016/04/20 Javascript
jQuery选择器总结之常用元素查找方法
2016/08/04 Javascript
用nodejs的实现原理和搭建服务器(动态)
2016/08/10 NodeJs
Angularjs 实现一个幻灯片示例代码
2016/09/08 Javascript
nodejs读写json文件的简单方法(必看)
2017/03/09 NodeJs
微信JS-SDK选取手机照片上传功能
2017/04/21 Javascript
基于require.js的使用(实例讲解)
2017/09/07 Javascript
Angular客户端请求Rest服务跨域问题的解决方法
2017/09/19 Javascript
JavaScript实现重力下落与弹性效果的方法分析
2017/12/20 Javascript
vue仿ios列表左划删除
2019/09/26 Javascript
python selenium UI自动化解决验证码的4种方法
2018/01/05 Python
pandas的qcut()方法详解
2019/07/06 Python
Python使用__new__()方法为对象分配内存及返回对象的引用示例
2019/09/20 Python
python使用Thread的setDaemon启动后台线程教程
2020/04/25 Python
英国健身专家:WIT Fitness
2021/02/09 全球购物
教师的实习自我鉴定
2013/12/17 职场文书
家长会学生家长演讲稿
2013/12/29 职场文书
建筑安全生产目标责任书
2014/07/23 职场文书
【DOTA2】高能暴走TK秀!PSG LGD vs ASTER - DPC 2022 WINTER TOUR CN
2022/04/02 DOTA
Flutter集成高德地图并添加自定义Maker的实践
2022/04/07 Java/Android
进阶篇之linux环境下安装MySQL数据库
2022/04/09 MySQL