JsRender:如何使用指定键从map获取值

时间:2015-07-24 09:15:41

标签: jsrender

我将数据渲染到我的页面中:

$('#component_data').html($('#component_data_tpl').render(result, extra_opts));

此处'result'是从我的ajax请求返回的一张大地图,其中包含所有数据,例如

result: { data1: { 'a': 1, 'b':2}, data2: {...}, ... }

那么如何渲染data1 ['a'],当我确定我的模板代码中的键是'a'时没有循环迭代data1中的所有值?我是否必须创建辅助函数?

修改

抱歉,也许这不是上面的好例子。 我正在迭代data1:

{{props data1}}
    {{>key}}
{{/props}}

但是,我想从data2获取数据,其数据键与data1中的数据相同。有没有像:

{{props data1}}
    {{>key}}
    {{> data2[key]}}
{{/props}}

这样做? 我现在所知道的是使用辅助函数,然后传递(key,#data.parent)来解析相关的数据值,但每次编写一个辅助函数都有点乏味。

1 个答案:

答案 0 :(得分:2)

更新

是的,例如你可以写:

{{props data1 ~data2=data2}}
  {{:key}} {{:prop}} {{:~data2[key]}}
{{/props}}

将给出

a 1 val1

{ data1: { 'a': 1, ...}, data2: { 'a': 'val1'...}, ... }