为什么{{#each}}能正常工作,而{{#with}却不能
Why Does {{#each}} Work Properly While {{#with}} Does Not?
我正在使用Meteor.js进行一个项目,在使用Handlebar时遇到了一些问题:我想检索集合的最后一项,并显示字段:包含html的文本:
这是我的javascript代码:
Template.postVerif.helpers({
'lastPost' :function(){
lastPost = Posts.find({}, {sort:{timestamp:-1}, limit :1}).fetch();
return lastPost
}
})
在html中,手把{{#each}}正在工作,但{{#with}}没有工作看到只有一件物品被退回,这有点奇怪。
{{#each lastPost}}
{{{text}}}
{{/each}}
{{#with lastPost}}
{{{text}}}
{{/with}}
你知道为什么会这样吗?
{{#each}}
在集合游标或JS对象数组上迭代。
{{#with}}
只是设置传递给块辅助对象的任何参数的当前数据上下文。
如果希望{{#with}}
块正常工作,请不要从助手返回数组(对通过Posts.find({},...);
获得的光标调用fetch将其转换为数组)。
相反,您应该使用Posts.findOne({},...);
来仅获得作为普通对象的第一个匹配结果。
相关文章:
- 用javascript将script元素附加到头部;铬不能工作
- 为什么jQuery代码段在没有IFrame的情况下可以工作,而在有IFrame时却不能工作
- 为什么当async标志设置为false时,xmlhttprequest中的代码可以工作,而当它设置为true时却不能工作
- 引导程序's的javascript在本地工作,但在部署到服务器时不能工作
- JQuery脚本没有'Don’我不能工作两次
- "npm运行构建:css"不能工作,而当我自己运行脚本时是可以的
- ng样式在与的预标记中!重要的是不能工作
- angularjs 控制器在指令中使用控制器作为不能工作
- jQuery LightSlider不能工作,但在JSFiddle中工作得很好
- Javascript - 我如何让一个语句工作一次,如果它已经工作了 1 次,则不能工作,然后再次工作
- 我的查询获胜'因为一个剧本,它不能工作(它以错误的方式工作)!?但为什么呢?SESSIONS和PHP
- 我的Javascript代码没有'铬不能工作
- 使用JQuery调整图像大小和重新排列图像;第一次装载时不能工作
- 为什么不是'这个Javascript计算器不能工作
- Javascript在窗口中返回.onbeforeunload不会'铬不能工作
- Javascript代码包含在html中时可以工作,但单独加载/注入时则不能工作
- 简单的jquery选择器不会;铬不能工作
- 为什么不'这个Javascript函数不能工作
- 为什么不'这个js数组函数不能工作
- 视口比例;方向改变后不能工作