if ($g) {$g.$utils || ($g.$utils = {});
} else {var $g = {};$g.$utils = {};
}
/*绑定数据神器*/
$g.$utils.bind = {a(html, obj) {return this.object(html, obj);},object(h, o) {for (var a in o) var b = o[a], h = this.set(h, a, b);return h;},set(h, l, v) {if (!h) return console.log("html传参为空", l, v);return h.replace(new RegExp("{" + l + "}", "g"), v).replace(new RegExp("\\[" + l + "\\]", "g"), v);},sets(html, keys, vals, defaults, valsIsObject) {//defaults是当vals对应值为空的时候,默认的缺省值//valsIsObject为true的时候vals为一个对象{key:value,key:value,key:value,…},其中key就是keys里面对应的值for (var i = 0, len = keys.length; i < len; i++) {var a = keys[i], b = valsIsObject ? vals[a] : vals[i], c = defaults ? valsIsObject ? defaults[a] : defaults[i] : null;b || c && (b = c);html = this.set(html, a, b);}return html;}
};//测试用例----------------------------------------------------------------
var html = "";
var tpl = "<li id=\"id_[id]\"><p>[label]</p></li>\n";
var arr = [{id: 1, label: "内容1"},{id: 2, label: "内容2"},{id: 3, label: "内容3"},{id: 4, label: "内容4"},{id: 5, label: "内容5"}
];
for (var i = 0, len = arr.length; i < len; i++) {var a = arr[i];html += $g.$utils.bind.a(tpl, {id: a.id, label: a.label});//JSON键值对应匹配绑定方式(推荐)// html += $g.$utils.bind.sets(tpl, ["id", "label"], [a.id, a.label]);//数组对应匹配绑定方式(不推荐)
}
console.log(html);
// document.querySelector("dom").innerHTML = html;

【硬核技能】舒工自创bind绑定数据方法,类似angular和vue绑定数据原理相关推荐

  1. 阿里大佬告诉我,想学习设计模式,得先学好这些硬核技能

    写在前面 我们继续学习架构师技能,今天是本系列的第二篇,希望大家持续关注. 可能你不是科班出生,甚至大学都没念,没背景没关系.我们只要每天进步一点点,一个月.两个月.半年.一年....... 规划性的 ...

  2. 腾讯扩招3000人,产品硬核技能被曝光,看完我跪了!

    都说竞品分析是产品经理的基本功,但大多数情况,可能就会如下述所说,成为一个面子工程: "要做竞品分析了,赶紧某度搜搜模板,洋洋洒洒写了大几千字,累得够呛,自己都被自己的文字产出数目感动了,但 ...

  3. #前端开发我们应该具备的硬核技能

    自从Vue2.0火了之后,前端开发在国内就像开了花一样,哪哪儿都是招前端要求会Vue.Angular.React任意一个.很多同学都知道前端很火!但是不知道为什么火.只知道找工作前端好找,工资也可观, ...

  4. 零基础小白如何自学UI设计?get这4个硬核技能,月入轻松2W+!

    对于想自学入行的UI设计的同学来说,在选择众多设计软件时往往无从下手.小姐姐建议初学的第一步,是了解自己在UI设计工作过程中必用的软件,然后再针对性地去加强自己的技术和能力. UI设计常用的软件有不少 ...

  5. 从网页中读取数据 python_数据分析硬核技能:用 Python 爬取网页

    我作为数据科学家的第一个任务,就是做网页爬取.那时候,我对使用代码从网站上获取数据这项技术完全一无所知,它偏偏又是最有逻辑性并且最容易获得的数据来源.在几次尝试之后,网页爬取对我来说就几乎是种本能行为 ...

  6. 硬核技能k8s初体验

    , Kubernetes 是一个软件系统,使你在数以万计的电脑节点上运行软件时就像所有节点是以单个大节点一样, 它将底层基础设施抽象,这样做同时简化了应用开发.部署,以及对开发和运维团队的管理. Ku ...

  7. 047、JVM实战总结:高级工程师的硬核技能:JVM的Full GC日志应该怎么看?

    本文是<从 0 开始带你成为JVM实战高手>内容总结,版权问题,特此声明.详细内容: 如果购买,成功后加QQ群找群主返现10元

  8. 044、JVM实战总结:高级工程师的硬核技能:JVM的Young GC日志应该怎么看?

    1.前文回顾 昨天给出示例代码,设置jvm参数,触发YoungGC,今天仔细分析GC日志,图解Young GC的执行过程 2.程序运行采用的默认JVM参数如何查看? 怎么看系统用的默认JVM参数? 给 ...

  9. 语言自制教具_学习笔记:蒙特梭利教师必备硬核技能“蒙氏理论+教具制作”...

    "此文适合蒙氏老师阅读" 本篇分享的内容也是一篇课堂笔记,今年的7月份参加了台湾张庭枝老师"0-3蒙氏理论&教具制作"课程学习. 众所周知,蒙氏理论与教 ...

最新文章

  1. opencv 学习:reshape函数
  2. leetcode算法题--骑士拨号器
  3. Struts2-EL表达式为什么能获取值栈数据
  4. Davinci及U-boot的一些介绍
  5. 关于”算法工程师/机器学习工程师”的笔试和面试总结
  6. 北师大网络教育计算机试题一的答案,北师大网络教育《专科英语一》作业3部分答案...
  7. Redhat 6.8部署oracle 12c
  8. 高等组合学笔记(四): 生成函数应用, Catalan问题
  9. SpringMVC框架第三天
  10. Facebook账户 “ 解封、防封、养号 ” 知识要点
  11. OpenCV笔记(十八)——使用霍夫变换检测圆圈
  12. .net 移动端 web 上传图片_vue使用cropperjs实现移动端图片裁剪上传组件
  13. 中国制盐市场销售动态及需求潜力预测报告(新版)2022-2027年
  14. HEVC(H265)播放器
  15. linux查看ddr时钟频率,RK3288 查看ddr频率
  16. 毕业设计任务书---毕业设计(论文)任务的内容和要求(包括原始数据、技术要求、工作要求)
  17. activiti-邮件任务
  18. 网站pv和uv比例多少合适
  19. WPA3的特点有哪些?
  20. 结合实例谈谈航拍全景的方法和技巧

热门文章

  1. Log4Net的控制台,WinForm,WebApplication使用
  2. intel最新的服务器芯片,Intel最新服务器CPU 芯片组Roadmap
  3. Go 学习笔记(15)— 函数(01)[函数定义、函数特点、多值返回、实参形参、变长参数,函数作为参数调用]
  4. 用友二次开发——工资导入
  5. 【整理】NSTimer使用及注意事项
  6. How to set window title name on Oracle EBS Form?
  7. 为 区域添加 Tag
  8. POJ1067_取石子游戏_威佐夫博弈
  9. 将Project的内容导出成单独的XPO文件
  10. mysql中3张表如何关联查询_mysql三张表关联查询