2015-06-22 2 views
0

В чем разница между железом: action маршрутизатора - onBeforeAction. Первоначально я предполагал, что действие - это крючок маршрута, который постоянно активен, тогда как onBeforeAction выполняется только до визуализации маршрута. Также как бы я описал глобальное действие для всех маршрутов. Router.onBeforeAction работает так, что я могу глобально определить крючок для всех маршрутов, однако я не могу использовать Router.action таким же образом. Может быть, я просто не понимаю, что делает action.Iron Router Action vs OnBeforeAction

ответ

0

Действие предназначено для использования в контроллерах маршрутов для определенных шаблонов.

Вы должны заметить, что это необязательно, потому что поведение по умолчанию - это рендеринг маршрута вместе с его макетом и регионами автоматически. Так что, если вы хотите изменить поведение по умолчанию при использовании контроллеров маршрута вы могли бы сделать что-то вроде этого:

this.PostAdController = RouteController.extend({ 

    'template' : 'InsertPostTemplate', 
    'subscriptions' : function(){ /* subs here */ }, 

    'action' : function(){ 
    // this could be empty in most cases, but: 
    if (this.ready()){ this.render(); } else { this.render('Loading'); } 
    } 


}); 

Так с этим кодом вы предоставляете шаблон Загрузки в случае подписка не готова.

Смежные вопросы