我感觉必须能够将模板助手从一个模板指向另一个模板。有谁知道怎么做?
我在控制台中看到我可以访问我想要的模板:例如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模板帮助程序
答案 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,
});