jsRender,带空格的json列名称
问题描述:
如何使用包含空格字符的键名称“Field ID”来引用列/字段名称?还有“dtTime”,显示为NaN。jsRender,带空格的json列名称
<script id="jsRendTmp" type="text/x-jquery-tmpl">
<li>{{:#Field ID}}</li>
<li>{{:#dtTime}}</li>
//这是这样做(感谢名单鲍里斯)的有道
<li>{{:#data['Field ID']}}</li>
<li>{{:#data['dtTime']}}</li>
</script>
这里的数据:
TESTDATA: { “字段标识”: “22”, dtTime:“8/1/2021” }, { “Field ID”: “33”, dtTime: “2021年8月2日” } ]
答
你可以得到这样的值:
{{:#data['Field ID']}}
如果您还想要检测密钥名称并将其呈现,请查看此示例: 03_iterating-through-fields-scenario - 代码here。
答
你可以用一个辅助做到这一点:http://jsfiddle.net/imsky/B8ks2/
<script id="jsRendTmp" type="text/x-jquery-tmpl">
<div style="margin:10px 0">Title</div>
{{for ~getFields()}}
<li>{{>key}}: {{>value}}</li>
{{/for}}
</script>
var data = [ { "Field ID": "22", dtTime: "8/1/2021" }, { "Field ID": "33", dtTime: "8/2/2021" } ];
$.views.helpers({
getFields: function(object) {
var object = this.data;
var key, value,
fieldsArray = [];
for (key in object) {
if (object.hasOwnProperty(key)) {
value = object[ key ];
// For each property/field add an object to the array, with key and value
fieldsArray.push({
key: key,
value: value
});
}
}
// Return the array, to be rendered using {{for ~fields(object)}}
return fieldsArray;
}
});
$("#content").html($("#jsRendTmp").render(data));
+0
看起来不错,但有点矫枉过正。我正在寻找简单的东西:)我想我只是改变后端,以带来“有效”的名字。 – pyccki
这就是我需要的!我即将发布在您的博客上。谢谢鲍里斯。并再次感谢你提供最好的渲染库! – pyccki