es6数据变更同步到视图层的方法


Posted in Javascript onMarch 04, 2019

数据变更同步到视图层有一个很重要的东西就是Proxy,Proxy的作用就是可以隐藏真正的对象,而用户去修改它的代理对象.Proxy可以监听数据的变化,例如

<div id="test">
  name:{{name}}
  age:{{age}}
</div>
<script>
  let el = document.getElementById('test');
  let datainner = {
    name:"Jack",
    age:"18"
  }
  let template = el.innerHTML;
  let data = new Proxy(datainner,{
    set(obj,name,value){
      console.log(name+"的值被操纵成了value"+value)
      obj[name]=value;
      console.log("数据改变了");
      render()
    }
  })
  data.name="Jack Chen"
</script>

es6数据变更同步到视图层的方法

es6数据变更同步到视图层的方法

可以监控到data数据的改变,然后就可以将数据渲染到html中,就可以实现es6数据同步到视图层

最终代码

<script>
  let el = document.getElementById('test');
  let datainner = {
    name:"Jack",
    age:"18"
  }
  let template = el.innerHTML;
  let data = new Proxy(datainner,{
    set(obj,name,value){
      console.log(name+"的值被操纵成了"+value)
      obj[name]=value;
      console.log("数据改变了");
      render();
    }
  })
  render();
  //数据渲染
  function render(){
    el.innerHTML = template.replace(/\{\{\w+\}\}/g,str=>{
      str=str.substring(2,str.length-2);
      console.log(datainner[str]);
      return datainner[str]
    })
  }
</script>

最终效果

es6数据变更同步到视图层的方法

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

Javascript 相关文章推荐
JavaScript语句可以不以;结尾的烦恼
Mar 08 Javascript
javascript while语句和do while语句的区别分析
Dec 08 Javascript
javascript实现的平方米、亩、公顷单位换算小程序
Aug 11 Javascript
JavaScript针对网页节点的增删改查用法实例
Feb 02 Javascript
JS实现表格数据各种搜索功能的方法
Mar 03 Javascript
简介JavaScript中的italics()方法的使用
Jun 08 Javascript
jQuery form 表单验证插件(fieldValue)校验表单
Jan 24 Javascript
微信小程序 参数传递详解
Oct 24 Javascript
基于BootStrap的文本编辑器组件Summernote
Oct 27 Javascript
angularjs结合html5实现拖拽功能
Jun 25 Javascript
Vue 事件的$event参数=事件的值案例
Jan 29 Vue.js
小程序实现筛子抽奖
May 26 Javascript
使用webpack构建应用的方法步骤
Mar 04 #Javascript
详解element-ui中form验证杂记
Mar 04 #Javascript
JS使用数组实现的队列功能示例
Mar 04 #Javascript
JS使用栈判断给定字符串是否是回文算法示例
Mar 04 #Javascript
微信小程序textarea层级过高(盖住其他元素)问题的解决办法
Mar 04 #Javascript
一步快速解决微信小程序中textarea层级太高遮挡其他组件
Mar 04 #Javascript
使用ESLint禁止项目导入特定模块的方法步骤
Mar 04 #Javascript
You might like
zend framework多模块多布局配置
2011/02/26 PHP
PHP提取字符串中的图片地址[正则表达式]
2011/11/12 PHP
php的mssql数据库连接类实例
2014/11/28 PHP
javascript 日期常用的方法
2009/11/11 Javascript
单独使用CKFinder选择图片的方法
2010/08/21 Javascript
javascript向flash swf文件传递参数值注意细节
2012/12/11 Javascript
jquery indexOf使用方法
2013/08/19 Javascript
js动态修改整个页面样式达到换肤效果
2014/05/23 Javascript
js格式化时间的方法
2015/12/18 Javascript
jquery中键盘事件小结
2016/02/24 Javascript
bootstrap table分页模板和获取表中的ID方法
2017/01/10 Javascript
JS实现中国公民身份证号码有效性验证
2017/02/20 Javascript
ES6正则表达式扩展笔记
2017/07/25 Javascript
JS获取一个表单字段中多条数据并转化为json格式
2017/10/17 Javascript
在Vue中使用Compass的方法
2018/03/02 Javascript
JavaScript面试技巧之数组的一些不low操作
2019/03/22 Javascript
layui 表格操作列按钮动态显示的实现方法
2019/09/06 Javascript
Vue实现todo应用的示例
2021/02/20 Vue.js
[01:36:57]【09DOTA2第一视角】小骷髅
2014/04/16 DOTA
Python中的深拷贝和浅拷贝详解
2015/06/03 Python
在CentOS上配置Nginx+Gunicorn+Python+Flask环境的教程
2016/06/07 Python
python 串口读取+存储+输出处理实例
2019/12/26 Python
python实现横向拼接图片
2020/03/23 Python
Python如何输出警告信息
2020/07/30 Python
python 中 .py文件 转 .pyd文件的操作
2021/03/04 Python
AmazeUi Tree(树形结构) 应用小结
2020/08/17 HTML / CSS
Tea Collection官网:一家位于旧金山的童装公司
2020/08/07 全球购物
内科护士实习自我鉴定
2013/10/17 职场文书
生物技术专业毕业生求职信范文
2013/12/14 职场文书
观看《永远的雷锋》心得体会
2014/03/12 职场文书
《生命的药方》教学反思
2014/04/08 职场文书
餐饮商业计划书范文
2014/04/29 职场文书
任命书格式
2014/06/05 职场文书
解除聘用合同证明书范本
2014/09/11 职场文书
工厂见习报告范文
2014/10/31 职场文书
郭明义电影观后感
2015/06/08 职场文书