JsRender:如何从具有指定键的地图中获取值
JsRender: how to get value from map with specified key
好吧,我会像这样将数据呈现到我的页面中:
$('#component_data').html($('#component_data_tpl').render(result, extra_opts));
这里'result'是我的ajax请求返回的一张大地图,里面包含了所有的数据,例如
result: { data1: { 'a': 1, 'b':2}, data2: {...}, ... }
那么当我确定我的模板代码中的键是 'a' 时如何渲染 data1['a'] 而无需循环来迭代 data1 中的所有值?我必须创建辅助函数吗?
编辑:
抱歉,上面的例子可能不是很好。
我正在迭代数据 1:
{{props data1}}
{{>key}}
{{/props}}
但是我想从data2中获取数据,data2的key和data1中的key是一样的。有没有这样的方法:
{{props data1}}
{{>key}}
{{> data2[key]}}
{{/props}}
要做到这一点?
我现在只知道用辅助函数,然后传(key, #data.parent) 解析关联数据值,但是每次都写一个辅助函数有点乏味。
更新:
是的,例如你可以这样写:
{{props data1 ~data2=data2}}
{{:key}} {{:prop}} {{:~data2[key]}}
{{/props}}
这会给
a 1 val1
和
{ data1: { 'a': 1, ...}, data2: { 'a': 'val1'...}, ... }
好吧,我会像这样将数据呈现到我的页面中:
$('#component_data').html($('#component_data_tpl').render(result, extra_opts));
这里'result'是我的ajax请求返回的一张大地图,里面包含了所有的数据,例如
result: { data1: { 'a': 1, 'b':2}, data2: {...}, ... }
那么当我确定我的模板代码中的键是 'a' 时如何渲染 data1['a'] 而无需循环来迭代 data1 中的所有值?我必须创建辅助函数吗?
编辑:
抱歉,上面的例子可能不是很好。 我正在迭代数据 1:
{{props data1}}
{{>key}}
{{/props}}
但是我想从data2中获取数据,data2的key和data1中的key是一样的。有没有这样的方法:
{{props data1}}
{{>key}}
{{> data2[key]}}
{{/props}}
要做到这一点? 我现在只知道用辅助函数,然后传(key, #data.parent) 解析关联数据值,但是每次都写一个辅助函数有点乏味。
更新:
是的,例如你可以这样写:
{{props data1 ~data2=data2}}
{{:key}} {{:prop}} {{:~data2[key]}}
{{/props}}
这会给
a 1 val1
和
{ data1: { 'a': 1, ...}, data2: { 'a': 'val1'...}, ... }