【问题标题】:Three way data binding with RactiveJS and Firebase使用 RactiveJS 和 Firebase 进行三向数据绑定
【发布时间】:2016-03-18 15:06:48
【问题描述】:

我真的想知道是否有人通过 RactiveJS 对 Firebase 进行了拍摄。

我感到困惑的是,Ractive 使用数组修饰符事件来触发一些 DOM 更改。

到目前为止一切顺利,ractive.unshift('arr',1) 意味着更新以下内容:

{{ # arr }} 
     {{ . }} 
{{ / }}

但是.. 由于 Firebase 使用 Objects 而不是 Arrays 我如何使用 Ractive 提取三向数据绑定?我真的很喜欢 RactiveJS 提供的易用性,我不想仅仅因为这个而离开。

有什么想法吗?

非常感谢!

【问题讨论】:

  • 你能用一个小例子更新问题吗?不清楚为什么这会成为可用的设置/更新/计算的问题。
  • 没有问题,我只是想问一下你是怎么做到的?我正试图找出一种让 Ractive 与 Firebase 一起工作的方法(但我无法理解它,因为 Firebase 正在使用对象并且 Ractive 会监听 Arrays 上的更改)。你有什么例子可以让 Ractive 监听 Firebase 的变化吗?
  • Ractive data 不一定是一个数组 - 我没有可用的 Firebase 示例,但简单来说,您可以正常使用 Firebase,当您在 Firebase 中收到更改事件时,您可以: Ractive.set(...) 基于数据的新值,或 Ractive.update(...) 以及基于 Firebase 数据的计算值。
  • 我想我会尝试这种方式。当我找到其他人可以使用的东西时会回来。

标签: firebase ractivejs


【解决方案1】:

您的问题不多,但我相信您正在尝试设置数据。 ractive.set 应该是你需要的一切:

ractive.set('some.object.keypath', obj);

这并没有什么特别之处(尽管有一些幕后的事情发生了)。这是做的同义词:

some.object.keypath = obj;

此外,如果您想抽象出您正在使用 Firebase 的事实,您可以创建一个 adaptor。它本质上只是一个抽象层,与第三方数据源相互转换。一个常见的例子是让 Backbone 模型适应 Ractive。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多