2015-04-03 48 views
0

我使用骨干js和append函数来显示值的输出,这是我的旧工作代码(简称)。下面的代码只是为了让你知道代码正在工作。backbonejs with underscorejs

this.$el.append('<li class="linkbackbreadcrumbs">'+model.get('sourceName')+'</li>');} 

现在我需要使用下划线JS来传递数据给模板,需要在那边来填充数据。

从查看

Backbone.View.extend({ 
        el: $('#secondBoxList'), 
        initialize: function(){ 
         this.render(); 
        }, 
        template: _.template($("#item-template").html()), 
        render: function(eventName) { 
         this.$el.html(this.template({who: this.collection.toJSON()})); 
         } 
     }); 

用于测试目的 这工作得很好。

 <script type="text/template" id="item-template"> 
      <h3>Hello <%= who %></h3> 
     </script> 

输出 你好[对象的对象],[对象的对象],[对象的对象],[对象的对象],[对象的对象],[对象的对象],[对象的对象]

我希望它显示sourceName,并检查sourceName是否存在,我应该跳过。示例json如下。

[ 
    { 
    "sourceName": "Apple" 

    }, 
    { 
    "sourceName": "Windows" 
    }, 
    { 
    "sourceName": "Ubunut" 

    }, 
    { 
    "sourceName": "Linux Mint" 
    }, 
    { 
    "sourceName": "Fedora" 

    }, 
    { 
    "sourceName": "Windows" 
    }, 
    { 
    "sourceName": "Dummy" 

    } 
] 

我试过每个函数,但我得到的值没有定义。未捕获ReferenceError:值未定义

如何获取我的sourceName填充。

回答

0

你可以做这样的事情在模板:

<script type="text/template" id="item-template"> 
    <% _.each(who,function(item))  
    <h3>Hello <%= item.sourceName %></h3> 
</script> 
0
<script type="text/template" id="item-template"> 

           <% for(var name in who) { %> 
             <li><%= who[name].sourceName %></li> 
            <% } %> 

        </script> 

这提供了所需的输出。