Meteor:如何在另一个模板上指出模板原型?

时间:2016-04-24 18:33:16

标签: meteor

我感觉必须能够将模板助手从一个模板指向另一个模板。有谁知道怎么做?

我在控制台中看到我可以访问我想要的模板:例如Template.Users_edit_page。

看起来有一个__helpers对象,其中定义了所有模板(Template.Users_edit_page .__ helpers)。

我怎样才能做到以下几点:

Template.User_form.prototype.helpers = Template.Users_edit_page.helpers__

然后理想情况下从User_form模板(Users_edit_page的子项)调用的任何帮助程序都将运行Users_edit_page模板帮助程序

1 个答案:

答案 0 :(得分:1)

虽然我完全鼓励深入挖掘框架的内部以更好地理解它正在做什么,直接链接到这样的实现细节(例如*.__helpers)通常不是一个好主意,因为框架开发人员可能会改变实现破坏你的代码的细节。

当您使用公共API时,您可以期待更少的重大更改,并在此之前提前发出通知(例如,标记为将来弃用的API)。

正如我在其他问题中提到的,跨模板共享助手的最灵活方法是使用Template.registerHelper

但是,如果你需要更具针对性的东西,你可以将你的功能定义为独立的javascript函数:

passwordSecure = function(password) {
  return password.length > 8;
};
validEmail = function(email) {
  return email.contains('@');
};

然后将它们作为帮助程序包含在您想要的所有模板中,如下所示:

Template.User_form.helpers({
  'passwordSecure': passwordSecure,
  'validEmail':  validEmail, 
});