有没有办法将变量从模板传递给帮助器

时间:2015-10-29 17:49:21

标签: meteor meteor-helper

我想知道是否有办法将变量从模板传递到模板助手函数。

我有一些嵌套循环,但无法知道我正在循环哪些数据。

提前致谢

1 个答案:

答案 0 :(得分:3)

是(http://docs.meteor.com/#/full/template_helpers):

  

助手可以接受位置和关键字参数:

Template.myTemplate.helpers({   
  displayName: function (firstName, lastName, keyword) {
    var prefix = keyword.hash.title ? keyword.hash.title + " " : "";
    return prefix + firstName + " " + lastName;   } });
     

然后你可以从这样的模板中调用这个助手:

{{displayName "John" "Doe" title="President"}}

如果超出此范围,您希望使用模板当前数据上下文中的数据作为助手的参数,当然,您也可以这样做。例如,如果当前数据上下文包含firstnamelastnametitle

 {{displayName firstname lastname title=title}}

例如,这在#each循环中很方便。如果您不知道当前上下文中的内容,那么只需在帮助函数中使用console.log(this),您就可以在控制台上看到完整的数据上下文。