2014-01-11 112 views
1

一旦我注册使用Handlebars.registerHelper()车把上的辅助函数,有可能是我改变和/或删除助手?我是否可以再次使用registerHelper()来覆盖当前的帮手,或者有没有像Handlebars.unregisterHelper()这样的东西?或者如果我需要助手在应用程序中更改,我应该使用不同的方法吗?更改/注销把手帮手(流星)

我的使用案例是Iron Router plugin流星。我正在使用布局模板作为我的页面的一般结构。我想用一个助手在布局模板之前,我(通过<template>本身)产生的页面主体的主要内容,使每个人的模板可以定义自己的页面标题,但没有在页面中指定位置每次。例如,我的布局模板看起来是这样的:

{{pageTitle}} 
{{yield}} 

然后在渲染模板.js文件,我会用下面的{{pageTitle}}占位符来填补:

Handlebars.registerHelper("pageTitle", function() { 
    return "My Page Title"; 
}; 

也许有一种解决这个问题的替代方法。

回答

3

你可以做的就是这样的事情

Handlebars.registerHelper("pageTitle", function() { 
    return Session.get('pt'); 
}; 

function changePageTitle(str){ 
    Session.set('pt', str); 
} 

流星,是被动的,应该更新页面时,会话变量的变化。当你切换到另一个页面时,只需运行changePageTitle。

+0

此方法适用于有魅力,非常感谢! – ecbrodie

+0

没问题。谢谢你的谢意。 :d – mjkaufer