使用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。

10-08 15:01