我希望动态加载模板,而不使用路由器包但使用会话。 功能是,我有两个模板"注册"和"登录"。当我点击Login时,它必须打开登录页面模板,与Register相同。 我通过这段代码来解决,但没有成功。
<body>
{{> content}}
</body>
<template name="content">
{{renderTemplate}}
</template>
内容助手
Template.content.helpers({
'renderTemplate': function(){
return new Handlebars.SafeString(
Template[Session.get('currentTemplate')]({dataKey: 'someValue'})
}
})
请帮助解决方案。提前致谢
答案 0 :(得分:1)
当您升级到0.8时,您应该已经收到必读页面的URL。此页面告诉您模板不再是函数,并且不返回字符串:
这就是为什么这不起作用:
Template[Session.get('currentTemplate')]({dataKey: 'someValue'})
您可以返回模板对象。但是在调用renderTemplate
之前,您需要以某种方式更改数据上下文。我不能告诉你如何,因为我不知道所有模板对他们的数据需要什么。
Template.content.helpers({
'renderTemplate': function(){
return Template[Session.get('currentTemplate')];
}
});
<强>更新强>:
请务必使用链接页面中描述的{{> renderTemplate}}
,而不是{{renderTemplate}}
。