Я конвертирую приложение Ember в реальном времени на основе глобальных переменных в приложение на основе es6, которое использует ember-cli. В моем приложении мне довольно часто нужно знать текущий маршрут. В версии globals я делал это.
Шаблон глобалов
var MyApp = Ember.Application.create({
currentRoute : ''
});
MyApp.Route = Ember.Route.extend({
actions : {
didTransition : function () {
MyApp.set('currentRoute', this);
}
}
});
Затем я мог бы сделать MyApp.get('currentRoute')
изнутри своего сеанса или автономных контроллеров при определении того, как / куда переходить при возникновении определенных событий.
При использовании ember-cli я импортирую приложение, чтобы иметь возможность ссылаться на него с необходимых контроллеров.
import MyApp from "../app";
Но оказывается, что MyApp.currentRoute
, MyApp.get
и MyApp.set
все не определены.
Часть меня думает, что это ошибка в ember-cli, заключающаяся в том, что экземпляр приложения больше не имеет связанных геттеров и сеттеров. Часть меня понимает, что хранить что-либо в экземпляре приложения - не лучшая практика.
Я мог бы обойти эту проблему, преобразовав все экземпляры MyApp.get
и MyApp.set
в Ember.get(MyApp, ...)
и Ember.set(MyApp, ...)
соответственно, но я подумал, что сначала спрошу здесь, так как это, похоже, проблема с Ember-Cli или что-то еще, где есть лучший рекомендуемый способ чтобы достичь того, что мне нужно.
import Ember from 'ember';
свяжитесь со мной в чате, если вам нужна помощь в переносе Это - person Patsy Issa   schedule 25.10.2014App.get('currentUser')
во всем приложении иApp.set('currentUser', x)
при входе / выходе. Теперь это не работает. Что я могу применить в качестве альтернативы для аналогичного использования? cc @BasementKeyboardHero - person Ernesto   schedule 12.01.2015