我在模板的onRendered
钩子中设置了一些函数,如下所示:
Template.PanelLayout.onRendered(function() {
Tracker.autorun(function() {
if (ready.get()) {
page = Pages.findOne({
slug: 'about'
});
tinymce.init({
selector: "#pageContent",
height: 400
});
tinymce.get('pageContent').setContent(page.content);
}
});
});
如果我直接访问该页面或重新加载该页面,这些功能就会起作用。但如果我只是点击导航中的一个链接来访问它,函数就不会加载。我该怎么解决这个问题?
简单的答案是不能,因为FlowRouter就是这样工作的:FlowRouter文档
对于单个交互,路由器只运行一次。这意味着,在您访问了一条路线后,它将首先调用触发器,然后调用订阅,最后调用操作。在这之后,这些方法中的任何一个都不会再次被调用进行路线访问。
您所做的似乎更适合Meteor的模板助手