【发布时间】:2018-07-23 09:38:01
【问题描述】:
当我尝试传递带有数字属性的 JavaScript 对象时
{ 1: "One", 2: "Two", 3: "Three" }
数据绑定不呈现属性值,只呈现示例中的数字
$.templates("template", "#template");
$.link.template("#row", { 1: "One", 2: "Two", 3: "Three" });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jsviews/0.9.90/jsviews.min.js"></script>
<script id="template" type="text/x-jsrender">
<td>{{:1}}</td>
<td>{{:2}}</td>
<td>{{:3}}</td>
</script>
<table>
<tr id="row">
</tr>
</table>
但是,如果我将对象的属性名称更改为以字母开头的名称,则可以正常工作
$.templates("template", "#template");
$.link.template("#row", { n1: "One", n2: "Two", n3: "Three" });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jsviews/0.9.90/jsviews.min.js"></script>
<script id="template" type="text/x-jsrender">
<td>{{:n1}}</td>
<td>{{:n2}}</td>
<td>{{:n3}}</td>
</script>
<table>
<tr id="row">
</tr>
</table>
是错误还是功能?如何让 jsViews 使用数字属性而不转换传递的对象?
【问题讨论】:
标签: javascript jquery jsviews