내 응용 프로그램이 window.App
에 있다고 가정하면 App.__container__.lookup("router:main")
의 라우터를 얻을 수 있습니다.현재 routeName을 얻는 방법은 무엇입니까?
어떻게 현재 경로에 액세스 할 수 있습니까? 특히 그 속성을 얻고 싶습니다 routeName
.
내 응용 프로그램이 window.App
에 있다고 가정하면 App.__container__.lookup("router:main")
의 라우터를 얻을 수 있습니다.현재 routeName을 얻는 방법은 무엇입니까?
어떻게 현재 경로에 액세스 할 수 있습니까? 특히 그 속성을 얻고 싶습니다 routeName
.
응용 프로그램의 현재 상태에 대한 계산 별칭 인 currentPath
이라는 속성이 있습니다. 당신이 이런 식으로 뭔가를 할 수 같은 일 현재 routeName
으로 활용하려면 다음
App = Ember,Application.create({
currentPath: ''
});
ApplicationController : Ember.Controller.extend({
currentPathDidChange: function() {
App.set('currentPath', this.get('currentPath'));
}.observes('currentPath')
});
을 다음과 어디에서나 액세스 :
App.get('currentPath');
이 currentPath
속성에 대한 추가 정보를 원하시면 here를 참조하십시오.
App = Ember.Application.create({
LOG_TRANSITION: true
});
참고 사용이 : 언급도 가치가
는 현재 경로 이름은 브라우저 콘솔에서 응용 프로그램이 상태/경로를 변경할 때마다 기록이 true로 LOG_TRANSITIONS
을 플래그를 활성화 할 수 있다는 것입니다 App.__container__.lookup("router:main")
은 내부 API이므로 디버깅 용도로만 사용됩니다.
희망이 있습니다.
Ember 코어의 버그를 수정하기 위해'App .__ container __. lookup'을 사용하고 있습니다. 따라서 어플리케이션 컨트롤러를 확장 할 수 없습니다. 어디에서'currentState'를 정확히 찾을 수 있습니까? 'App'이나'Router'의 속성이 아닙니다. – chrmod
링크가 도움이된다면, 감사합니다. 하지만'App'에서'StateManager'에 접근하는 방법은 무엇입니까? – chrmod
'StateManager'는 이전 버전의 라우터에 사용되었습니다. 이제 v2 *에서 라우터는 자신의 라우팅 등을 처리합니다.'ApplicationController'의'currentPath' 속성은 여기에서 처리됩니다 : https : // github. com/emberjs/ember.js/blob/v1.0.0-rc.5/packages/ember-routing/lib/system/router.js # L75 – intuitivepixel