复合视图的骨干模型,没有任何数据

时间:2014-06-14 15:08:39

标签: backbone.js model-view-controller

我有一个复合视图如下。

-------------------------------------
        fixed nav bar
-------------------------------------
            |
fixed       |
topics list | detail pane
            |
-------------------------------------

单击某个主题时,我将替换详细信息窗格。 Navbar,Topics list和Detail都有模型,但顶级应用视图不具备。

在这种情况下:

  1. 我是否应该为应用视图声明模型?
  2. 如果是这样,该模型是否应该为单个模型调用fetch?
  3. 我读到路由器应该调用model.fetch()。但是,对于复合视图,路由器需要了解所有模型。路由器真的应该关心吗?
  4. 另外,控制器的骨干等价物是什么?

    提前致谢。

1 个答案:

答案 0 :(得分:0)

  1. 您不需要应用级模型。
  2. 否。你不需要。您可以让各个主题在路由器中的函数内调用自己的视图/模型。请参阅下面的伪代码。
  3. 您可以根据主题点击事件中的主题进行调用。
  4. 例如,

    主题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