使用Flow Router如何在访问页面时重新执行某个功能?

时间:2015-11-17 10:14:25

标签: meteor flow-router

我在模板的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);
        }
    });
});

如果我直接访问该页面或重新加载该页面,这些功能将起作用。但是,如果我通过单击导航中的链接来访问它,则不会加载这些功能。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

简短的回答是你不能,因为这就是FlowRouter的工作方式: FlowRouter docs

  

对于单个交互,路由器只运行一次。这意味着,在您访问路线之后,首先它将调用触发器,然后是订阅,最后是操作。在那之后,将不再为该路线访问再次调用这些方法。

您正在做的事情似乎更适合Meteor's Template helper