使用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);
        }
    });
});

如果我直接访问该页面或重新加载该页面,这些功能就会起作用。但如果我只是点击导航中的一个链接来访问它,函数就不会加载。我该怎么解决这个问题?

简单的答案是不能,因为FlowRouter就是这样工作的:FlowRouter文档

对于单个交互,路由器只运行一次。这意味着,在您访问了一条路线后,它将首先调用触发器,然后调用订阅,最后调用操作。在这之后,这些方法中的任何一个都不会再次被调用进行路线访问。

您所做的似乎更适合Meteor的模板助手

最新更新