使用Handlebars.registerHelper()
为车把注册辅助功能后,是否可以更改和/或删除该辅助功能?我可以再次使用registerHelper()
覆盖当前的帮助程序,还是存在Handlebars.unregisterHelper()
之类的东西?还是在申请过程中需要帮助者进行更改时应该使用其他方法?
对我来说,用例是Iron Router plugin for Meteor。我正在使用layoutTemplate作为页面的常规结构。我想在生成页面正文的主要内容之前(本身通过<template>
)在布局模板中使用帮助程序,以便每个单独的模板都可以定义自己的页面标题,而不必在其中指定位置每次都显示该页面。例如,我的布局模板可能如下所示:
{{pageTitle}}
{{yield}}
然后在呈现模板的.js文件中,我将使用以下内容来填充
{{pageTitle}}
占位符:Handlebars.registerHelper("pageTitle", function() {
return "My Page Title";
};
也许有解决此问题的另一种方法。
最佳答案
你可以做的就是这样
Handlebars.registerHelper("pageTitle", function() {
return Session.get('pt');
};
function changePageTitle(str){
Session.set('pt', str);
}
当会话变量更改时,作为响应的流星应该更新页面。当您切换到另一个页面时,只需运行changePageTitle。