나는 전역 기반의 실시간 Ember 응용 프로그램을 ember-cli를 사용하는 es6 기반 응용 프로그램으로 변환하고 있습니다. 내 앱에서 나는 현재 경로를 꽤 자주 알아야한다. 전역 버전에서는이 작업을 수행하고있었습니다. 특정 이벤트가 발생했을 때 전환 할 경우 방법/결정할 때ember-cli App.get/App.set throw undefined
전역 패턴
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
모든 정의되지 않은을 것으로 밝혀졌습니다.
이 부분은 응용 프로그램 인스턴스가 더 이상 getter와 setter를 바인딩하지 않는다고 ember-cli의 버그라고 생각합니다. Part of Me는 애플리케이션 인스턴스에 물건을 저장하는 것은 좋지 않다는 것을 깨닫는다.
나는 각각 Ember.get(MyApp, ...)
및 Ember.set(MyApp, ...)
에 MyApp.get
및 MyApp.set
의 모든 인스턴스를 변환하여이 문제를 해결받을 수 있지만, 나는이가 어디 엠버 - CLI에 문제 또는 뭔가 다른 것으로 하나 보인다 내가 처음 여기 물어 줄 알았는데 내가 원하는 것을 얻는 더 좋은 방법. 당신이 (당신이 가져 오는 것) app.js
보면
하기는 Ember.route.extend을 ({대신 CLI를 사용하는 경우 더 이상 myapp.stuff 내보낼 필요가 없습니다 // your code}) 대신 MyApp.set을 사용하십시오 this.set –
가져올 필요가있는 것은 Ember,'ember 'from ember';'[ping me in the chat] (http : //chat.stackoverflow .com/rooms/63494/ember-js) 도움이 필요하면 –
이 문제가 있습니다. ember-starter kit 앱을 ember-cli로 마이그레이션하고 있는데 다음과 같은 문제가 있습니다. App 객체의 속성에 현재 사용자에 대한 정보를 저장하는 데 사용되었습니다. 그래서 저는 앱 전체에서'App.get ('currentUser')'를 사용했고 로그인/로그 아웃시에는'app.set ('currentUser', x)'를 사용했습니다. 이제는 작동하지 않습니다. 비슷한 용도로 사용할 수있는 대안은 무엇입니까? cc @BasementKeyboardHero – Ernesto