Javascript 遍历underline.js模板中的对象

Javascript 遍历underline.js模板中的对象,javascript,json,underscore.js,underscore.js-templating,Javascript,Json,Underscore.js,Underscore.js Templating,救命啊!这应该没那么难,所以我想我错过了一些简单的东西 我有一个用作下划线模板的变量。下面是一个示例(还有更多内容,但为了简单起见,这是最重要的代码): 到底为什么我不能弄清楚如何在模板中输出键/值对。我想做的就是打印如下内容: <li>food: shrimp</li> <li>drink: none</li> 食物:虾 饮料:没有 我做错了什么?我从一个不同的数据结构开始,一个合适的集合: favorites: [ {type: "fo

救命啊!这应该没那么难,所以我想我错过了一些简单的东西

我有一个用作下划线模板的变量。下面是一个示例(还有更多内容,但为了简单起见,这是最重要的代码):

到底为什么我不能弄清楚如何在模板中输出键/值对。我想做的就是打印如下内容:

<li>food: shrimp</li>
<li>drink: none</li>
食物:虾
  • 饮料:没有

  • 我做错了什么?

    我从一个不同的数据结构开始,一个合适的集合:

    favorites: [
      {type: "food", name: "shrimp"},
      {type: "drink" name: "none"}
    ];
    
    然后您可以创建模板,如下所示:

    var template = [
      '<% _.each(favorites, function(item) { %>',
        '<li><%= item.type %>: <%= item.name %></li>',
      '<% }); %>'
    ].join('');
    
    var模板=[
    '',
    “
  • ”, '' ].加入(“”);
    您拥有的是一个集合,而不是一个对象。您必须循环数组并使用点符号访问键。但是您的数据结构不太正确……这完全可以工作。谢谢,谢谢,谢谢!!
    favorites: [
      {type: "food", name: "shrimp"},
      {type: "drink" name: "none"}
    ];
    
    var template = [
      '<% _.each(favorites, function(item) { %>',
        '<li><%= item.type %>: <%= item.name %></li>',
      '<% }); %>'
    ].join('');