2014-10-15 3 views
0

У меня есть маршруткомплекс кода внутри Ember Route

App.MyRoute = Ember.Route.extend({ 
    model : function() { 
     return complexCode(); 
    } 
} 

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

Один из вариантов - передать объект в качестве параметра, но я хочу избежать передачи объекта всеми методами.

App.MyRoute = Ember.Route.extend({ 
    model : function() { 
     var route = this; 
     return complexCode(route); 
    } 

Каков наилучший способ получить доступ к информации о собственности или методе MyRoute? Все в порядке, если отдельный код в других файлах?

ответ

0

Это, вероятно, плохой шаблон для использования. Он плотно соединяет ваш complexCode с маршрутом. Вам лучше было бы передавать необходимые значения для выполнения сложного кода или создания микширования и добавления его к каждому маршруту (это позволит вам иметь методы, входящие в область маршрута).

http://emberjs.com/api/classes/Ember.Mixin.html

+0

это нормально, сохранить «код в отдельных файлах»? Что я могу сделать, если мне нужен глобальный доступ к некоторому объекту в ember? Спасибо! –

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