2017-04-04 11 views
0

나는 이제 ember js와 함께합니다. 컨트롤러 관측기에서 현재 경로 인스턴스가 필요합니다. 나는 많은 링크를 시도하고 많이 검색했지만 여전히 관찰자 방법으로 경로 인스턴스를 가져올 수 없습니다. 코드가 있습니다.옵저버에서 현재 경로 인스턴스를 가져올 수 없습니다.

activeStagesChanged: Ember.observer('activeStages.[]', function() { 
    let self = this; 

    Ember.run.scheduleOnce('afterRender', function() { 
     initCustomScrollbar('#status_timeline_box'); 

     self.handleAppStages(self.get('model'), self.get('currentUser.isConfirmAppStageChange'), 
      Ember.getOwner(self).lookup('controller:application')); 
    }); 
    }) 

Ember.getOwner (자기) .lookup ('컨트롤러 : 응용 프로그램')이 내가 경로 개체를 반환 가정 코드입니다. 내부 컨트롤러 관찰자에서

+0

유스 케이스의 다른 대안이있을 수 있으므로 옵서버의 경로 인스턴스에 액세스하는 이유 또는 유스 케이스를 아는 것이 좋습니다. – kumkanillam

+0

이것은 루비 레일 응용 프로그램이며 우리는 프런트 엔드 기술로 엠버를 사용하고 있습니다. 내가 작성한 콜백에이 경로를 보내는 것은 간단한 작업으로 경로를 새로 고치는 것이다. – wasipeer

답변

1

당신은 행동을 경로 파일에 refreshFromCont을 정의 할 수 있습니다,

actions:{ 
refreshFromCont(){ 
    this.refresh(); 
} 
} 

당신은 현재의 컨트롤러 경로 및 부모 경로와 순서를 호출합니다 this.send('refreshFromCont')를 호출 할 수 있습니다.

+0

현재 작동 중입니다. 나는 행동에서 이것을 돌려 보내고있다. 그것은 접근 방식을 쓰고 있습니까? – wasipeer

+0

@wasipeer 예, afaik입니다. 다른 사람들이 귀중한 피드백을 제공하거나 다른 접근/응답을 제공 할 때까지이 답변의 표시를 취소 할 수 있습니다. – kumkanillam