美文网首页vue技术栈
剖析Vue原理&实现双向绑定MVVM

剖析Vue原理&实现双向绑定MVVM

作者: 吴高亮 | 来源:发表于2018-12-21 22:18 被阅读5次

原文摘抄内容;原文地址
1:https://segmentfault.com/a/1190000006599500?from=%C3%A6%C2%96%C2%87%C3%A7%C2%AB%C2%A0%C3%A9%C2%A1%C2%B5%C3%A5%C2%86%C2%85%C3%A9%C2%93%C2%BE%C3%A6%C2%8E%C2%A5;
2:http://www.html-js.com/article/Study-of-twoway-data-binding-JavaScript-talk-about-JavaScript-every-day

主流实行数据的双向绑定的三种方式;

  • 发布-订阅者模式(backbon.js);
  • 脏查询 (angular.js);
  • 数据劫持 (vuejs);
    首先是发布-订阅者模式;
    双向数据绑定指的是将对象属性变化绑定到UI,或者反之。换句话说,如果我们有一个拥有name属性的user对象,当我们给user.name赋予一个新值是UI也会相应的显示新的名字。同样的,如果UI包括了一个输入字段用来输入用户名,输入一个新的值会导致user对象中的那么属性发生变化。

许多流行的客户端JavaScript框架例如Ember.js,AngularJS以及KnockoutJS都将双向数据绑定作为自己的头号特性。但是这并不意味着从零开始实现双向数据绑定就很困难,同样的当我们需要双向数据绑定时并不是只能够选择这些框架其中的一个。双向数据绑定底层的思想非常的基本,它可以被压缩成为三个步骤:

1.我们需要一个方法来识别哪个UI元素被绑定了相应的属性 2.我们需要监视属性和UI元素的变化 3.我们需要将所有变化传播到绑定的对象和元素

虽然实现的方法有很多,但是最简单也是最有效的途径是使用发布者-订阅者模式。思想很简单:我们可以使用自定义的data属性在HTML代码中指明绑定。所有绑定起来的JavaScript对象以及DOM元素都将“订阅”一个发布者对象。任何时候如果JavaScript对象或者一个HTML输入字段被侦测到发生了变化,我们将代理事件到发布者-订阅者模式,这会反过来将变化广播并传播到所有绑定的对象和元素。

相关文章

  • Vue2.0原理与MVVM的实现

    剖析Vue原理&实现双向绑定MVVM vue源码 双向绑定 -- MVVM 目前几种主流的MVC框架都实现了单向数...

  • Vue双向数据绑定原理

    剖析Vue实现原理 - 如何实现双向绑定mvvm 本文能帮你做什么?1、了解vue的双向数据绑定原理以及核心代码模...

  • 关于双向绑定的问题

    剖析Vue实现原理 - 如何实现双向绑定mvvm 本文能帮你做什么?1、了解vue的双向数据绑定原理以及核心代码模...

  • vue双向数据绑定

    剖析Vue原理、实现双向绑定MVVM 几种实现双向绑定的做法 目前几种主流的mvc(vm)框架都实现了单向数据绑定...

  • 从零实现一个VUE,深入了解vue实现原理

    授人以渔 不如授人以渔,剖析Vue实现原理 - 如何实现双向绑定mvvm 本文能帮你做什么?1、了解vue的双向数...

  • vue相关文章保存

    剖析Vue实现原理 - 如何实现双向绑定mvvm Object.defineProperty()MDN介绍 谈谈J...

  • 【前端推荐第16天】如何实现双向绑定mvvm

    今日推荐文章:《剖析Vue实现原理 - 如何实现双向绑定mvvm》 来源 GitHub ,作者GitHub DM...

  • Vue原理研究之双向数据绑定

    前言 本篇文章主要研究Vue的双向数据绑定的学习笔记。具体细节请参考《剖析Vue原理&实现双向绑定MVVM》。 原...

  • 前端面试资料收集

    vue相关知识 前端面试题+前端学习+面试指南 剖析Vue原理&实现双向绑定MVVM 详解 JavaScript的...

  • vue数据双向绑定

    参考文章 深入响应式原理 剖析Vue原理&实现双向绑定MVVM 当你把一个普通的 JavaScript 对象传给 ...

网友评论

    本文标题:剖析Vue原理&实现双向绑定MVVM

    本文链接:https://www.haomeiwen.com/subject/yjqbkqtx.html