【问题标题】:backbone model for composite view without any data on its own没有任何数据的复合视图的主干模型
【发布时间】:2014-06-14 15:08:39
【问题描述】:

我有一个复合视图如下。

------------------------------------- 固定导航栏 ------------------------------------- | 固定 | 话题列表 |详细信息窗格 | -------------------------------------

当您单击某个主题时,我正在替换详细信息窗格。 导航栏、主题列表和详细信息都有模型,但顶级应用视图没有。

在这种情况下:

  1. 我也应该为应用视图声明一个模型吗?
  2. 如果是这样,该模型是否应该为单个模型调用 f​​etch?
  3. 我读到路由器应该调用model.fetch()。但是,对于复合视图,路由器需要了解所有模型。路由器真的应该关心吗?

另外,控制器的主干等效物是什么?

提前致谢。

【问题讨论】:

  • 你为什么要使用顶级应用视图?如果它永远不会改变并且没有模型,那么您不需要 Backbone 来管理它。您可以在 HTML 中为您的其他视图创建元素,并让您的路由器更新详细信息窗格以适应。

标签: backbone.js model-view-controller


【解决方案1】:
  1. 您不需要应用级模型。
  2. 没有。你不需要。您可以在路由器的函数内让各个主题调用自己的视图/模型。请参阅下面的伪代码。
  3. 可以根据主题点击事件里面的主题进行调用。

例如,

主题 A: 主题B:

Router.extend{

routes:
{
  Topic A : callA();
  Topic B : callB();
},

callA(){

 //call the view for A which can load the model (recommended)
 // or call the model directly here and bind it to the parent view itself. 
},


    callB(){

 //call the view for A which can load the model (recommended)
 // or call the model directly here and bind it to the parent view itself. 
  }
 };

希望这会有所帮助。

同样对于最后一个问题,主干使用 路由器作为(MVC)控制器/演示者 View.js 和 html 就像视图 模型将是模型。

这个链接也可能有帮助。

http://backbonejs.org/#FAQ-mvc

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-26
    • 1970-01-01
    • 2015-05-30
    相关资源
    最近更新 更多