子模板可以使用哪些Meteor模板辅助函数?

时间:2014-09-26 01:43:54

标签: templates meteor

我在另一个内部有一个Meteor(v0.8)模板:

<template name="vehicles">
    {{wheels}}
    {{>hovercraft}}
</template>

<template name="hovercraft">
    {{eels}}
</template>

我想在外部模板(wheels)上定义模板函数eelsvehicles

Template.vehicles.wheels = function() { console.log("wheels"); }
Template.vehicles.eels = function() { console.log("eels in the vehicles"); }

但是找不到eels。当然,在内部模板(hovercraft)上定义它可以起作用:

Template.hovercraft.eels = function() { console.log("eels in the hovercraft"); }

子模板如何继承模板函数的规则是什么? hovercraft可以继承vehicles函数吗?我经常发现自己需要这个,因为我将大模板重构为较小的模板。

感谢。

1 个答案:

答案 0 :(得分:0)

使用包meteor-template-extension从模板继承帮助程序。

您还可以将参数传递给subtemplate,如:

<template name="tParent">
   {{> tChild h1=helper1 h2=helper2}}
</template>

<template name="tChild">
   {{h1}}
   {{h2}}
</template>

Template.tParent.helpers({
    helper1: function () {
      return "helper1"
    },
    helper2: function () {
      return "helper2" 
    }
  });

事情是上面的方法传递助手的结果而不是引用它。 但是在某些情况下它仍然有用。