首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Backbone.js多级ul

问Backbone.js多级ul
EN

Stack Overflow用户
提问于 2012-02-23 00:10:59
回答 1查看 503关注 0票数 0

我正在开始一个主干项目,我想我应该从菜单系统开始。我的菜单是基于多级用户界面的。因此,基本上在清单的某些侧面有嵌套的uls

我想知道如何为它创建一个模型/集合。就这一点而言,我将如何处理视图。我见过人们创建带有li标记类型的视图。但我不确定这是如何工作的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-23 02:09:21

我个人喜欢使用集合视图和项目视图(防止重新呈现整个列表)

代码语言:javascript
复制
AutoFiler.Views.Messages = Backbone.View.extend({
initialize: function () {
    _.bindAll(this, 'render', 'renderItem');
    this.collection.bind("reset", this.render);
    this.collection.bind('add', this.renderItem);
    this.collection.bind('remove', this.render);
},
render: function () {
    this.el.empty();
    this.collection.each(this.renderItem);
    return this;
},
renderItem: function (item) {
    var viewC = new AutoFiler.Views.Message({ model: item });
    this.el.append(viewC.render().el);
}
});
AutoFiler.Views.Message = Backbone.View.extend({
   template: _.template($("#Message-template").html()),
   tagName: "li",
   initialize: function () {
      _.bindAll(this, 'render');
   },
   render: function () {
     $(this.el).html(this.template(this.model.toJSON()));
     return this;
   }
});

<script id="Message-template" type="text/template">
    <div>{{ Subject }}</div>
</script>

<ul id="Messages"> 

</ul>

为您提供

代码语言:javascript
复制
<ul id="Messages"> 
    <li><div>Subject A</div></li>
    <li><div>Subject B</div></li>
</ul>

您可以通过创建列表的集合(集合的集合)来嵌套它们

或者,您可以只使用类名和深度来设置样式

http://jsfiddle.net/3HGuf/

就像这样

我认为这会使代码更容易阅读。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9398517

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档