迭代Handlebars中的两个对象

时间:2015-08-05 06:14:06

标签: backbone.js handlebars.js

我有一个骨干模型,我正在尝试从中提取特定值。类似的东西:(使用原始对象,但假设它是骨干模型)

var x = {
    primary : ["a","b","c"],
    attributes : {
        a : 1,
        b : 2,
        d : 4
    }
}

最后,它应该呈现1 2

我在想像

{{#each primary}}
    {{#if attributes[this]}}{{attributes[this]}}{{/if}}
{{/each}}

但这似乎不起作用。想法?

1 个答案:

答案 0 :(得分:0)

为它做了lookup帮助:

  

查找助手允许使用Handlebars变量进行动态参数解析。这对于解析数组索引的值非常有用。



var source = $("#template").html(); 
var template = Handlebars.compile(source); 

var data = {
  primary : ["a","b","c"],
  attributes : {
      a : 1,
      b : 2,
      d : 4
  }
};

$('body').append(template(data));

<script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.0.11/handlebars.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script id="template" type="text/x-handlebars-template">
{{#primary}}
	{{lookup ../attributes this}}
{{/primary}}
</script>
&#13;
&#13;
&#13;