包含模板标签中使用的助手参数?

时间:2015-05-28 20:34:00

标签: meteor meteor-blaze

我希望能够从包含模板标签中调用(全局)模板助手。

这样可行; 静态版本:

{{>volcanoTable pagination=5)}}

但是我希望通过使用名为getPref(key,defaultvalue)的模板帮助函数来获得每个用户的分页值。

“动态版”:

{{>volcanoTable pagination=getPref("pagination",5) }}

给出错误:  预期的空间    ... ue pagination = getPref('a',5))}}

还尝试了不同的版本,但它们也没有用;

喜欢{{>volcanoTable pagination=getPref "pagination" "5" }}

或者是否有其他方法可以获得相同的预期结果?

1 个答案:

答案 0 :(得分:0)

您可以创建一个返回上下文对象的帮助器。例如:

Template.myTemplate.helpers({
  myPagination: function(n) {
    // extract the default pagination for the user
    var pagination = Meteor.user().profile.pagination;
    if (pagination) {
      return {pagination: pagination};
    } else {
      return {pagination: n};
    }
  }
});

您可以这样使用:

<template name='myTemplate'>
  {{> volcanoTable myPagination 6}}
</template>

在这种情况下,只有当用户没有默认的分页属性时,volcanoTable才会获得{pagination: 6}的上下文。当然,如果myPagination在此模板之外有用,你可以使def allocate_to_family(families, agents): for dummy_agent in agents: for dummy_family in families: num_members = numpy.random.choice(4) while num_members != 0: dummy_family.add_agent(dummy_agent) num_members -= 1 成为全局帮助者。