使用backbone.js创建侧边栏

时间:2013-07-12 06:46:20

标签: backbone.js

我想使用backbone.js创建一个示例页面,我完全不熟悉它。

该视图应类似于backbone.js网站中显示的,其中您有侧边栏,右侧则有内容。 如此链接所示: -

http://backbonejs.org/

请考虑以下情形: -

    var model = Backbone.Model.extend({
       data:[
          {'title': 'Apple', 'logo':'images/apple.png', 'history': "Some history about       apple"},
           {'title': 'Google', 'logo':'images/google.png', 'history': "Some history about       google"},
           {'title': 'Microsoft', 'logo':'images/mirosoft.png', 'history': "Some history about microsoft"} 
]
       ]
    });

现在在我看来,侧边栏应该包含列表形式的链接,如

<a href="#apple">Apple</a>
<a href="#google">Google</a>
<a href="#microsoft">Microsoft</a>

在右侧,我想看到上面数据中传递的苹果标识和历史记录。

同样,当某人在运行时点击google时,我会更改侧栏右侧的内容

关于如何获得这个的任何指导......?

1 个答案:

答案 0 :(得分:1)

请参阅下面的答案,了解有关在视图之间传递参数的基本知识:

Event handling between views

基本上,您必须注册一个事件,该事件一旦被触发,将重新显示您的主要内容:

ContentView = Backbone.View.extend({
   initialize: function () {
       App.vent.on('show', this.show, this);
   },
   show: function (company) {
       // do something with your model, then call render()
   }
   // ....
});

和侧边栏视图,当您点击任何链接时,它应该触发该事件:

SidebarView = Backbone.View.extend({
   events: {
      '.companylink click': 'clicked'
   },
   clicked: function (company) {
       App.vent.trigger('show', company);
   }
   // .....
});