Backbone.js 主干中的单元素(ul)视图

Backbone.js 主干中的单元素(ul)视图,backbone.js,Backbone.js,我正在尝试在主干中创建一个视图,它是一个“ul”,我需要能够将这个视图实例化到另一个视图中,并且所有li子元素都需要用一个z填充。每个。。。然而,我正试图找出最好的方法 我将非常感谢任何能为我指明正确方向的帮助。。。因此,情况是: App.Views.BulkResultsView = Backbone.View.extend({ tagName : 'ul', className : 'bulk_results', //THIS IS BAD AND I KNOW IT

我正在尝试在主干中创建一个视图,它是一个“ul”,我需要能够将这个视图实例化到另一个视图中,并且所有li子元素都需要用一个z填充。每个。。。然而,我正试图找出最好的方法

我将非常感谢任何能为我指明正确方向的帮助。。。因此,情况是:

 App.Views.BulkResultsView = Backbone.View.extend({
   tagName : 'ul',
   className : 'bulk_results',

   //THIS IS BAD AND I KNOW IT
   template: _.template("
              <% _.each(results, function(result) { %>
                  <li><%= result %></li>
              <% } %>"), 

   initialize : function() {
        this.render();
   },

   render : function() {
       this.$el.html( this.template(  { results : App.bulkResults.toJSON() } ) );
       return this;
   }
 });
App.Views.BulkResultsView=Backbone.View.extend({
标记名:“ul”,
类名:“批量搜索结果”,
//这很糟糕,我知道
模板:。模板(“
  • "), 初始化:函数(){ 这个。render(); }, render:function(){ this.$el.html(this.template({results:App.bulkResults.toJSON()})); 归还这个; } });
    我知道我定义模板的方式很糟糕,我甚至不确定是否可以在模板中包含一个u。每个语句,因此,有人可以帮助一个兄弟吗


    这是提线木偶解决得非常好的问题之一,它提供了许多默认值,减少了一些样板代码,集合和项目视图就是很好的例子

    这里有一个简单的例子,你可以回顾一下,看看它是否适合你的需要

    BookItemView = Marionette.ItemView.extend({    
        tagName: 'li', 
        template: '#itemView-template'    
    });
    
    BookCollectionView = Marionette.CollectionView.extend({    
        tagName: 'ul', 
        childView: BookItemView     
    });
    


    这正是我想要避免的。。。为ul和li创建两个不同的视图。当然,这是实现这一点的最佳方法之一,但可能无法满足您的需要,我认为您需要提供更多详细信息,说明为什么不想创建两个不同的视图,没有上下文很难提供更准确的答案为什么您认为这不好?对于代码少于50行的模板,我更喜欢使用内联模板。是的,您可以包含一个
    。。每个
    。将视图分解为更小的部分的唯一原因是,每个单独的部分都可以作为其他位置的重要组件使用,而无需任何更改。