【问题标题】:backbone.js design pattern for a dashboard仪表板的主干.js 设计模式
【发布时间】:2012-11-21 03:59:00
【问题描述】:

我正在使用 Backbone.js 构建仪表板应用程序

有一个称为模块的窗格网格。每个模块都有自己需要监听的自定义数据。

每个模块都有共同的职责和单独的职责,例如,它们都有标题、描述等,但它们都有各自的数据集。

我应该如何构建应用程序以实现向这些独立模块的持续数据流?

【问题讨论】:

    标签: javascript design-patterns backbone.js


    【解决方案1】:

    在处理如此多的依赖项时,我建议通过一个全局 pubSub 类

    var pubsub = _.extend({}, Backbone.Events);
    

    这样你就可以分享活动了

    pubsub.on('some:channel', function () {
        console.log('channel ', arguments);
    });
    pubsub.trigger('some:channel', 'Dude...');
    

    具有多个模块并构建它们对它的响应。

    【讨论】:

    • 这是一个很好的起点。我应该在什么级别将这些模块连接到pubsub?在模型级别?收藏?查看?
    • 我通常开发“胖模型”,即功能绑定到每个实例。因此,我可以用一种行为控制所有模型,因为它们都订阅了 pubSub 类。我通常从不在视图中使用它,但有时当你想 stop() 整个应用程序时它会有意义。在那里,您还需要视图中的 pubSub 方法。
    • 那么,你的意思是,如果我开发一个基本模型,然后每个后续模型都扩展基本模型,那将是很好的。并且基本模型包含一个 pubsub 侦听器?
    • 是的。确切地。本指南还帮助我在骨干方面做得更好addyosmani.github.com/backbone-fundamentals
    【解决方案2】:

    我强烈推荐你使用backbone.marionette

    这里有一个很好的starting point 可以帮助你

    我使用 Marionette 开发了复杂的仪表板应用程序,我节省的时间和精力是巨大的。自然地,marionette 包含了几个 pub/sub 机制,可以让你的工作变得轻松。

    【讨论】:

      猜你喜欢
      • 2011-11-23
      • 1970-01-01
      • 2012-12-05
      • 1970-01-01
      • 2012-07-06
      • 1970-01-01
      • 2013-11-18
      • 2017-04-13
      • 1970-01-01
      相关资源
      最近更新 更多