位置: 编程技术 - 正文

轻松实现javascript数据双向绑定(轻松实现的英文)

发布时间:2024-02-27

推荐整理分享轻松实现javascript数据双向绑定(轻松实现的英文),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:轻松实现的近义词,轻松实现财富自由,轻松实现人生理想生日尾数农历,轻松实现每日赚三四百,轻松实现的近义词,轻松实现财富自由,轻松实现的成语,轻松实现纤腿梦的吸脂瘦腿术,内容如对您有帮助,希望把文章链接给更多的朋友!

双向数据绑定指的是当对象的属性发生变化时能够同时改变对应的UI,反之亦然。换句话说,如果我们有一个user对象,这个对象有一个name属性,无论何时你对user.name设置了一个新值,UI也会展示这个新的值。同样的,如果UI包含一个用于数据用户名字的输入框,输入一个新值也会导致user对象的name属性发生相应的改变。

许多流行的javascript框架,像Ember.js,Angular.js或者KnockoutJS都会把双向数据绑定作为其中的主要特性来宣传。这并不意味着从头开始实现它很难,也不意味着当我们需要这种功能的时候,使用这些框架是我们唯一的选择。内部的潜在思想事实上是相当基础的,实现它可以归纳为以下三点:

我们需要一种方式确定哪个UI元素绑定在哪个属性上。 我们需要监控属性和UI的变化 我们需要把所有绑定的对象和UI元素的变化传播出去。

尽管有好多种方式去实现这几点,一种简单高效的方法是我们通过发布订阅者模式来实现。方法很简单:我们可以使用定制的data属性作为HTML代码中需要绑定的属性。所有的绑定在一起的Javascript对象和DOM元素将会订阅这个发布订阅对象。任何时候我们检测到无论是Javascript对象亦或是HTML的input元素的变化,我们都是把事件代理传递给发布订阅对象,然后通过它把所有发生在绑定的对象和元素的的变化传递和广播出去。

一个用jQuery实现的简单例子

通过jQuery实现我们上面讨论的东西是相当简单明了的,因为作为一个流行的库,它让我们很简单的实现订阅和发布DOM事件,同时我们也可以定制一个:

轻松实现javascript数据双向绑定(轻松实现的英文)

至于javascript对象,下面是最小化的user数据模型实现的例子:

现在,无论何时我们想要绑定一个对象的属性到UI上,我们只要在对应的HTML元素上设置合适的data属性。

input输入框上值得变化会自动的映射到user的name属性,反之亦然。大功告成!

不需要jQuery的实现方式

现在的大部分项目一般jQuery都已经在使用啦,所以上面的例子是完全可以接受的。但是如果我们需要完全不依赖jQuery,那么该怎么实现呢?好吧,事实上其实也不难办到(特别是当我们把对IE的支持只提供IE8以上的支持)。最后,我们只是要通过发布订阅者模式来观察DOM事件而已。

数据模型可以保持不变,除了在setter中对jQuery中trigger方法的调用,我们可以通过我们在PubSub中自定义的publish方法来代替。

通过实例讲解,并又一次通过一百行不到,又可维护的纯javascript完成了我们想要的结果,希望对大家实现javascript数据双向绑定有所帮助。

window.setInterval()方法的定义和用法及offsetLeft与style.left的区别 定义和用法setInterval()方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。setInterval()方法会不停地调用函数,直到clearInterval()被调用或窗口被

js clearInterval()方法的定义和用法 此方法能够取消setInterval()方法设置的定时器。此方法的参数必须是要取消相应的setInerval()方法的返回值。点击可参阅更多window对象的属性和方法。语法

js window对象属性和方法相关资料整理 window对象有以下方法:openclosealertconfirmpromptsetTimeoutclearTimeoutsetIntervalclearIntervalmoveBymoveToresizeByresizeToscrollByscrollTofindbackforwardhomestopprintblurfocuscaptureEventenab

标签: 轻松实现的英文

本文链接地址:https://www.jiuchutong.com/biancheng/383722.html 转载请保留说明!

上一篇:谈谈对offsetleft兼容性的理解(谈谈对人才是第一资源的理解)

下一篇:js clearInterval()方法的定义和用法

  • 出口企业税负率计算公式
  • 配件销售过程中有什么注意事项
  • 自动售货机进货渠道
  • 商贸企业出口进项税会计分录汇总
  • 所得税汇算清缴账务处理
  • 公转私人账户怎么转
  • 会计工资标准
  • 工会经费网上缴费
  • 专利奖励金额
  • 法人可以自己申诉个税吗
  • 小企业销售材料计入什么科目借方记什么
  • 三栏式和多栏式的账目有哪些
  • 劳务费的专用发票有哪些
  • 免抵退分录怎么做
  • 货款为现金如何做记账账款凭证?
  • 以前年度损益是所有者权益吗
  • 润滑油经销需要什么资质
  • 企业所得税营业税金及附加
  • 会计人士必知建筑业主要成本会计分录一览
  • 营改增后装修行业税率
  • 收据能不能做账
  • 公司经营情况说明怎么写模板
  • 理发店财务分析报告
  • 包工包料的工程怎么做账
  • 事业单位固定资产报废处置流程
  • 验车费计入什么科目
  • 核定征收要交企业所得税吗
  • 如何用腾讯电脑管家删除文件
  • 苹果mac系统怎么截屏快捷键
  • php7.3
  • 赡养人 被赡养人
  • 公司为实习生买保险列支什么科目?
  • php类和对象
  • linux xmrig
  • 电脑卡慢咋办
  • 在那高高的草丛里
  • 保险业营改增
  • 税收筹划的税种
  • 总包缴税
  • 租入经营用房屋的改良支出
  • 个人从事生产经营
  • 生产型企业出口外购货物可以退税吗
  • 短期资金都是债务类资金
  • 董事费如何计算个人所得税
  • 工资福利支出包括五险一金吗
  • 其他权益工具是什么会计科目
  • 企业销售旧车如何开票
  • 长期股权投资的账面价值怎么计算
  • 邮电局上级部门
  • 税控盘抵扣怎么做账
  • pnpnpn的工作原理
  • 织梦如何使用
  • 母公司合并子公司报表
  • 以固定资产换入无形资产
  • 残保金逾期申报了补报会有罚款和滞纳金吗?
  • 退休人员的返聘合同
  • 速动比率和流动比率的关系
  • 个人开发者要缴税吗
  • 电商行业的采购
  • 认证抵扣发票
  • 银行汇票质押办理流程
  • 国税一证通
  • 会计账务做得混乱的原因
  • Ubuntu下MySQL安装及配置远程登录教程
  • 按不同要求分类
  • 系统盘如何重装
  • bios设置从光驱启动优先,可是启动不了
  • win7由于所要求的文件丢失或损坏
  • win7格式化怎么操作?
  • 如何理解shell
  • shell获取文件内容给变量
  • 批处理 删除指定文件
  • dos命令显示时间
  • js设置select
  • jquery validation
  • shell脚本语句
  • 美国税务制度
  • 税务局追缴社保流程及办理期限
  • 绿牌电动车需要过户吗?
  • 辽宁地方税务局招聘
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号