0

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

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

4

1 回答 1

1

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

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

你正在做的似乎更适合Meteor 的模板助手

于 2016-01-13T15:53:53.757 回答