放置特定模板助手

时间:2015-08-01 03:54:18

标签: javascript meteor meteor-blaze

我有一个pageTitle模板变量,它位于我网站每个部分的header element()中,我希望它是动态的,而不是硬编码的,因此网站维护更容易。

使用Meteor(我目前正在阅读Discover Meteor),最好将它放在Session变量中,然后从Template帮助器返回值(即在Discover的Session章节中的示例中) Meteor),还是有一个Atmosphere软件包可以更好地处理这个问题?

另外,如果我把它放在模板帮助器中,我对于放置帮助器的适当文件的位置有点模糊。也就是说,如果我(几乎)每个模板都有一个.js文件(因为我跟随着本书),我是否真的需要在每个模板中放入相同的辅助代码来从Session返回pageTitle变量模板的.js文件?

拥有如此多的冗余似乎效率低下,但如果我有一个Template.templateName.helper()代码的单个实例,我不确定在哪里放置它。

非常感谢任何帮助。谢谢!

2 个答案:

答案 0 :(得分:2)

我把它放在一个全球帮手里面。您可以使用Template.registerHelper。我通常把这些助手放在ivreg(Y_2 ~ Y_1:Z - 1 | Z, data=df) 里面。我不确定为什么你会想要使用会话变量。但这是一个简单的例子,说明这个助手的样子:

client/helpers/global.js

client/helpers/global.js

用法:

Template.registerHelper('setPageTitle', function (newTitle) {
  document.title = newTitle
})

答案 1 :(得分:1)

我也是Meteor的新手,但看起来你可以使用文档中的Observe Collection - http://docs.meteor.com/#/full/observe并在其中包含一个包含pageTitles的集合。

所以它会像

document.title = yourCursor.observe(function({ changed: function(id, field){return field.pageTitle} })

至于位置,客户端的任何地方都应该有效。

不确定这是否是最好的方法,但希望它有所帮助!