我在Meteor中有以下辅助函数:
sourceArray : function () {
sources = [];
for (var i = 0; i < images.length; i++) {
if (!isInArray(images[i].source, sources)) {
sources.push(images[i].source);
}
}
return sources;
}
我也有这个辅助功能:
imageTitle : function (source) {
var index = sources.indexOf(source);
return images[index].title;
}
在我的HTML中,我想使用这样的帮助器,传递{{this}}
作为参数:
<div class="row">
{{#each sourceArray}}
<div class="col-xs-4 col-sm-4 col-md-4 col-lg-4">
<a href="#" class="thumbnail">
<img class="img-responsive" src={{this}}>
</a>
<!-- THIS IS THE IMPORTANT BIT -->
{{imageTitle {{this}} }}
</div>
{{/each}}
</div>
这样做,我收到以下错误:
Errors prevented startup:
While building the application:
art.html:55: Expected identifier, number, string, boolean, or null
... <h3>{{imageTitle {{this}} }}</h3>
...
^
我该怎么做才能解决这个问题?
答案 0 :(得分:5)
我现在在手机上,但我会给你一个很大的提示。在each
区域内,您不需要将this
传递给帮助程序。您只需在JS中调用this
,它就会引用您当前尝试传递的内容。
答案 1 :(得分:3)
您正在寻找{{ imageTitle this }}
答案 2 :(得分:1)
帮助程序块中使用的任何帮助程序都将自动引用this
。有关示例,请参阅下面的MeteorPad: