Javascript jsViews-在对象列表中显示自定义属性
我有一些数据要使用JSView输出。这种情况下,数据数组中的对象可以根据某些条件具有不同的属性/列集。我将这些属性名称存储在设置中,并希望能够使用存储在设置数组中的所有附加列打印数据内容。例如:Javascript jsViews-在对象列表中显示自定义属性,javascript,jsrender,jsviews,Javascript,Jsrender,Jsviews,我有一些数据要使用JSView输出。这种情况下,数据数组中的对象可以根据某些条件具有不同的属性/列集。我将这些属性名称存储在设置中,并希望能够使用存储在设置数组中的所有附加列打印数据内容。例如: data = { view_settings: [{ property_name: "prop1" }, { property_name: "prop2" } ], object_li
data = {
view_settings: [{
property_name: "prop1"
},
{
property_name: "prop2"
}
],
object_list: [{
id: "180",
name: "test1",
prop1: "test-prop-1",
prop2: "test-prop-2"
}
]
}
我想要实现的是使用视图设置中的属性列表显示对象列表的内容。使用jsViews甚至可以做到这一点吗?为您的问题找到答案的最佳方法是先提问,理解它(橡皮鸭方法),然后找到答案 为了做到这一点,我们需要两次别名对象。下面是我的简化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>
名称
{{用于视图设置}
{{>property_name}
{{/for}}
{{for object_list~ view_settings=#data.view_settings}}
{{>name}
{{for~view_settings~object=#data}
{{:~对象[属性名称]}
{{/for}}
{{/for}}
希望这能节省一些时间;)