Handlebars.Net绑定JArray数据失败,模板循环未生效求助
问题原因与解决方法
问题根源
你直接将JArray数组作为参数传给Handlebars模板,但模板里的{{#each getReportDetails}}试图在当前上下文(也就是这个数组)中查找名为getReportDetails的属性——而数组本身并没有这个属性,所以循环无法渲染数据。
两种解决办法
办法一:修改模板,遍历当前上下文
把模板中的{{#each getReportDetails}}改成{{#each .}},其中.代表当前的根上下文(也就是你传入的数组):
<tbody> {{#each .}} <tr> <td>{{Name}}</td> </tr> {{/each}} </tbody>
办法二:将数组包装为对象传入
保持模板不变,修改传入模板的数据,把数组放到一个包含getReportDetails属性的对象中:
// 包装数组 var data = new { getReportDetails = getReportDetails }; var getdata = template(data);
这样模板就能正确找到getReportDetails数组并执行循环了。
内容的提问来源于stack exchange,提问作者nawaz uddin
相关产品推荐
相关产品推荐

