使用{{this}}作为Meteor中助手的参数

时间:2015-07-24 02:46:08

标签: javascript meteor

我在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>
 ...
 ^

我该怎么做才能解决这个问题?

3 个答案:

答案 0 :(得分:5)

我现在在手机上,但我会给你一个很大的提示。在each区域内,您不需要将this传递给帮助程序。您只需在JS中调用this,它就会引用您当前尝试传递的内容。

答案 1 :(得分:3)

您正在寻找{{ imageTitle this }}

答案 2 :(得分:1)

帮助程序块中使用的任何帮助程序都将自动引用this。有关示例,请参阅下面的MeteorPad:

http://meteorpad.com/pad/LMmMTSPi6BDtii4zb/ThisThing