我想要使用jsViews输出一些数据。情况是数据数组中的对象可以根据某些条件具有不同的属性/列集。我将这些属性名称存储在设置中,并希望能够打印存储在设置数组中的所有其他列的数据内容。例如:
data = {
view_settings: [{
property_name: "prop1"
},
{
property_name: "prop2"
}
],
object_list: [{
id: "180",
name: "test1",
prop1: "test-prop-1",
prop2: "test-prop-2"
}
]
}
我想要实现的是使用view_settings中的属性列表显示object_list的内容。甚至可以使用jsViews吗?
答案 0 :(得分:1)
找到问题答案的最佳方法是首先询问它,理解它(橡皮鸭方法),然后找到答案。
为了做到这一点,我们需要对对象进行两次别名。这是我简化的jsViews模板代码,它将正确显示我的问题中的示例数据:
<script id="template1" type="text/x-jsrender">
<table>
<thead>
<tr>
<th>Name</th>
{{for view_settings}}
<th>{{>property_name}}</th>
{{/for}}
<th></th>
</tr>
</thead>
<tbody>
{{for object_list ~view_settings=#data.view_settings}}
<tr>
<th>{{>name}}</th>
{{for ~view_settings ~object=#data}}
<th>{{:~object[property_name]}}</th>
{{/for}}
<th></th>
</tr>
{{/for}}
</tbody>
</table>
</script>
希望这可以节省时间;)