0
在app.js中,我将两个相同大小的数组传回客户端。是否可以在handlebars文件的#each循环中访问多个数组?
是否有可能做到这样的事情?
{{#each arrayOne}}
<Li>this </Li>
<Li> {{@index : arrayTwo}} </Li>
{{/each}}
在app.js中,我将两个相同大小的数组传回客户端。是否可以在handlebars文件的#each循环中访问多个数组?
是否有可能做到这样的事情?
{{#each arrayOne}}
<Li>this </Li>
<Li> {{@index : arrayTwo}} </Li>
{{/each}}
您应该避免在视图模板中使用复杂的逻辑。相反,我建议让一个控制器为你做合并工作。
通过这种方式,您可以解开视图,因为它更详细地描述了要显示的内容,并且控制器清楚地表明了以组合方式呈现不同数据的意图。
e.g
model.arr = arrayOne.map(function (item, i) {
return {
i1: arrayOne[i],
i2: arrayTwo[i]
};
});
那么你的看法变得更加简单
{{#each arr}}
<Li>{{arr.i1.thing}}</Li>
<Li>{{arr.i2.thingie}}</Li>
{{/each}}
很显然,你应该只在您的map
回调返回的相关性提高这进一步。
我看着地图,它看起来完全像我需要的。谢谢你的帮助。 – Jrom
由于Handlebars不应该是脚本语言,您可能必须准备好数据结构以更贴近地使用您的用例。 – tadman