Как с 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);
        }
    });
});

Если я зайду на эту страницу напрямую или перезагружу эту страницу, эти функции будут работать. Но если я зайду на него, просто щелкнув ссылку в навигации, функции не загрузятся. Как я могу это исправить?


person THpubs    schedule 17.11.2015    source источник


Ответы (1)


Короткий ответ: вы не можете, потому что FlowRouter работает следующим образом: документы FlowRouter

Для одного взаимодействия маршрутизатор запускается только один раз. Это означает, что после посещения маршрута сначала будут вызываться триггеры, затем подписки и, наконец, действие. После этого ни один из этих методов больше не будет вызываться для этого посещения маршрута.

То, что вы делаете, кажется, больше подходит для помощника по шаблонам Meteor

person Viktor Marinov    schedule 13.01.2016