当我跟随一些关于angular和ember.js的tuts时,我遇到了术语双向数据绑定。其中UI上显示的数据与数据库绑定,对其中一个数据库的任何更改都会快速传播到另一个数据库。当我开始学习meteor.js时,我遇到了术语“Reactivity”,对我来说,它与双向数据绑定的意义相同。你能告诉我这两个术语的根本区别吗?
wf82jlnq1#
事实上,React性比数据绑定更普遍。有了React性,你可以用一种非常简单的方式实现数据绑定,例如。
var myAwesomeData = "some data"; var myAwseomeDependency = new Tracker.Dependency(); var getData = function () { myAwesomeDependency.depend(); return myAwesomeData; }; var setData = function(value) { if (value !== myAwesomeData) { myAwesomeData = value; myAwesomeDependency.changed(); } }
现在,每次在计算中调用getData例程时,基本上在Tracker.autorun环境中,它都会被重新计算。默认情况下,meteor的collection API实现为响应式,因此每次从数据库中获取一些数据时,您可以确保数据更改后立即更新。还要注意,您可以在没有任何数据库或值的情况下使用上述React性模式,例如,您可以触发和监视事件,状态等。
getData
Tracker.autorun
7xzttuei2#
这篇维基百科文章将帮助您:http://en.wikipedia.org/wiki/Reactive_programming它基本上是说,特定数据层中的数据更改会自动传播。这种范式似乎是通用术语,每个具有数据绑定/双向数据绑定的框架都建立在它的基础上,并为它们的技术提供了不同的名称。
pepwfjgg3#
我的理解是双向数据绑定是一种React式编程。响应式简单地意味着数据中的变化流驱动行动。无论更改是来自应用程序中的DOM和数据,还是仅来自其中之一,都不重要。
3条答案
按热度按时间wf82jlnq1#
事实上,React性比数据绑定更普遍。有了React性,你可以用一种非常简单的方式实现数据绑定,例如。
现在,每次在计算中调用
getData
例程时,基本上在Tracker.autorun
环境中,它都会被重新计算。默认情况下,meteor的collection API实现为响应式,因此每次从数据库中获取一些数据时,您可以确保数据更改后立即更新。还要注意,您可以在没有任何数据库或值的情况下使用上述React性模式,例如,您可以触发和监视事件,状态等。
7xzttuei2#
这篇维基百科文章将帮助您:http://en.wikipedia.org/wiki/Reactive_programming
它基本上是说,特定数据层中的数据更改会自动传播。这种范式似乎是通用术语,每个具有数据绑定/双向数据绑定的框架都建立在它的基础上,并为它们的技术提供了不同的名称。
pepwfjgg3#
我的理解是双向数据绑定是一种React式编程。响应式简单地意味着数据中的变化流驱动行动。无论更改是来自应用程序中的DOM和数据,还是仅来自其中之一,都不重要。