【问题标题】:change backbone models on push notification更改推送通知的主干模型
【发布时间】:2012-11-01 21:53:15
【问题描述】:

我正在尝试将简单的 Backbone 应用程序和 Pusher 放在一起。 我拥有的是项目模型的骨干集合。应用程序可以从 Pusher 接收其中一些模型已更新的事件。

我想将我的代码与 Pusher 分离,以便我创建了应用程序范围的通知器,它扩展了主干事件、接收推送器事件并发布主干事件。

现在我的问题是如何更新集合中的模型? 我正在考虑在创建时向 Collection 提供 Notifier 并绑定到 Notifier 的事件函数,该函数将检查(具有事件数据)哪个模型被更改,在自己的集合中搜索这样的模型,相应地更新它并发布“更改”事件,以便视图可以做出相应的反应。

这是个好方法吗?在集合中搜索正确的模型可能效率不高,所以我也在考虑为每个模型实例提供通知器,让所有模型在更改时得到通知,并实现一些只有一个目标模型实例应该做出反应的条件。

【问题讨论】:

    标签: javascript backbone.js pusher


    【解决方案1】:

    有几个库可以帮助您将 Pusher 与 Backbone 一起使用:

    【讨论】:

    • 太棒了! Backbone-live 几乎就是我想要做的。谢谢
    【解决方案2】:

    在客户端:

    var channel = pusher.subscribe('xxxx');        
    
    channel.bind('xxxx', function(data) { //xxxx could be a json data object 
      var obj = $.parseJSON(data); 
      var mdl.coll.get(obj.id);
    
      if (mdl) { 
        mdl.set(obj, {silent: true}); //         console.dir(mdl.changed);
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-26
      • 2016-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-16
      • 2013-09-11
      相关资源
      最近更新 更多