2015-03-04 3 views
0

Есть ли способ иметь несколько функций, которые все вызываются в событии didTransition маршрута?Несколько удаленных переходов в маршруте

Вот пример, где actions.didTransition запускается нормально, но «someHook» не является: http://emberjs.jsbin.com/hedebigedi/1/edit?html,js,console,output

работает под управлением произвольные функции даже должны быть возможно с помощью «.По()»?

Я не понял, что означает событие в этом случае?

Причина, по которой я хотел сделать это, - это то, что я хотел создать mixin, который будет добавлен к определенным маршрутам, которые затем будут выполнять некоторую общую настройку после didTransition, но для маршрутов также потребуется выполнить некоторую настраиваемую настройку. Я могу скопировать-вставить тот же бит кода в action.didTransition каждого маршрута, но я бы использовал его только в одном месте.

ответ

0

Не работает. Что бы работать в on('init'), но это метод не событие, см: http://emberjs.com/api/classes/Ember.Route.html

Чтобы решить вашу проблему сделать что-то вроде этого:

import CleverMixin from 'path/to/mixin'; 
import AnotherMixin from 'path/to/mixin';  

App.IndexRoute = Ember.Route.extend(CleverMixin, AnotherMixin, { 

    model: function() { 
    return ['red', 'yellow', 'blue']; 
    }, 

    actions: { 
    didTransition: function() { 
     // This function will be provided by a mixin 
     this.setupStuff(); 
     // This function will be provided by another mixin 
     this.doMoreStuff(); 
    } 
    } 
}); 
+0

Ну, я думаю, с отдельной функцией вызовы Mixins в didTransition лучше чем ничего. Мне это не нравится, но если нет другого выбора ... – wheany

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