Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Backbone.js页面布局和;在全球范围内提供模型集合_Backbone.js - Fatal编程技术网

Backbone.js页面布局和;在全球范围内提供模型集合

Backbone.js页面布局和;在全球范围内提供模型集合,backbone.js,Backbone.js,我正在开发一个简单的Backbone.js应用程序用于实践——一个人员报价数据库。(Person有许多引号和注释) 问题 我想有两个布局 一种是标准的两列布局,一列作为侧栏,另一列作为内容区域。(我希望将视图嵌入到该列中,并保持侧栏静态。) 另一个是用于身份验证的简单一栏布局(我还想添加身份验证,因为这是一个实践项目)。带有登录表单的简单页面。显然,此布局仅用于一个视图 我该怎么做?是否有一个插件使这成为可能/容易?(本质上,是否存在与轨道布局系统等效的系统?) 在侧边栏上,我希望有一个Pers

我正在开发一个简单的Backbone.js应用程序用于实践——一个人员报价数据库。(
Person
有许多
引号
注释

问题

  • 我想有两个布局

    一种是标准的两列布局,一列作为侧栏,另一列作为内容区域。(我希望将视图嵌入到该列中,并保持侧栏静态。)

    另一个是用于身份验证的简单一栏布局(我还想添加身份验证,因为这是一个实践项目)。带有登录表单的简单页面。显然,此布局仅用于一个视图

    我该怎么做?是否有一个插件使这成为可能/容易?(本质上,是否存在与轨道布局系统等效的系统?)

  • 在侧边栏上,我希望有一个
    Person
    模型对象的列表,因此每个页面上必须有一个所有
    Person
    对象的列表。在Rails中,我将在ApplicationController中使用一个简单的before_过滤器来完成这一点

    实现这一目标的最佳方式是什么

  • 我从事的一个项目也需要类似的布局结构。我们有一个rails应用程序,前端有两个主干实例。为了获得我们的布局,我们使用了jqueryui布局。这将允许您创建多个代表侧栏和列的“面板”。然后,您可以简单地将视图渲染到每个面板中,它们将很好地分开

  • 创建quotes和comments视图时,可以将人员集合传递给它们,以便它们可以访问人员模型对象

  • 所以

    假设您有一个“主视图”,这个主视图将初始化您的jQuery ui布局

    $(this.el).layout({options})
    
    其中选项将设置报价和评论面板上的大小。然后创建视图并将其传递给“人物”集合,这是“人物”模型的集合

    new App.Views.QuotePanelView({
      el: $(this.el).find('#quote_panel'),
      collection: people
    })
    
    这里的人是一群人。评论小组也是如此

    var people = new People([
      {"name" : "James Cameron"},
      {"name" : "Bat Man"},
      {"name" : "Cool Guy"}
    ]);
    

    谢谢,这肯定让事情更清楚了。是否有一种简单的方法将人员集合传递到每个视图,而不是在每个视图中指定它?是的!创建“主视图”时,将其传递给人员集合。然后,您可以执行诸如newapp.Views.QuotePanelView({el:$(this.el).find('quote#panel')、collection:this.collection})之类的操作