Можешь сделать глобальный onRendered в железо: роутер?

Я хочу запускать код после каждого (или большого набора) рендеринга шаблонов Iron:router. Я не хочу делать

Template.foo.rendered = ->

для каждого.

1 ответ

Вы можете расширить RouteController до нового BaseController с вашим методом, а затем наследовать от BaseController.

BaseController = RouteController.extend({
    onRun: function () {
        // ... do your thing ...
        this.next();
    }
});

HomeController = BaseController.extend({
    template: 'dashboard',
    onBeforeAction: function () {
        // More Stuff
        this.next();
    }
});

OnRun (или любой другой метод, который вы там используете) будет запускаться для каждого из ваших контроллеров.

Другие вопросы по тегам