我有一个pageTitle模板变量,它位于我网站每个部分的header element()中,我希望它是动态的,而不是硬编码的,因此网站维护更容易。
使用Meteor(我目前正在阅读Discover Meteor),最好将它放在Session变量中,然后从Template帮助器返回值(即在Discover的Session章节中的示例中) Meteor),还是有一个Atmosphere软件包可以更好地处理这个问题?
另外,如果我把它放在模板帮助器中,我对于放置帮助器的适当文件的位置有点模糊。也就是说,如果我(几乎)每个模板都有一个.js文件(因为我跟随着本书),我是否真的需要在每个模板中放入相同的辅助代码来从Session返回pageTitle变量模板的.js文件?
拥有如此多的冗余似乎效率低下,但如果我有一个Template.templateName.helper()代码的单个实例,我不确定在哪里放置它。
非常感谢任何帮助。谢谢!
答案 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}
})
至于位置,客户端的任何地方都应该有效。
不确定这是否是最好的方法,但希望它有所帮助!