2016-11-21 2 views
0

구독 기반 데이터를 처리하는 가장 좋은 방법은 무엇입니까? 예를 들어, 다른 일을하기 전에 캐릭터를 먼저 만들어야하는 게임이 있습니다. 현재 나는 onBeforeAction 필터로 처리하려고 노력할 수 있습니다. 그래서 캐릭터를 필요로하는 모든 경로에 대한 글로벌 컨트롤러가 있습니다. 하여 컬렉션 게임 템플릿이 표시됩니다로드 될 때까지Meteor/Iron Router에서 구독을 처리하는 방법

Router.route('/game', { controller: 'DefaultController' }); 

문제는 다음과 같습니다

DefaultController = LayoutController.extend({ 
    onBeforeAction : function() { 
    var currentCharacter = Character.getCurrent.call({}); 
    if(currentCharacter === undefined) { 
     this.render('CharacterCreate'); 
    } else { 
     this.next(); 
    } 
}, 
waitOn() { 
    this.subscribe('characters.owned'); 
} 
}); 

는이 같은 경로를 가지고있다. 이와 같은 더 나은 접근 방법이 있습니까? 그리고 경로가 문자를 필요로하는 또 다른 문제는 가입이로드 될 때까지 예외를 던집니다.

답변

1

구독이로드되는 동안로드 훅을 사용하면됩니다.

loading(){ 
    this.render('myLoadingTemplate'); 
} 

loading 후크는 구독 준비를 기다리는 동안 자동으로 실행됩니다.

my post on building a clean router.js file이 유용 할 수 있습니다.

+0

링크가 잘 작동합니다 – Kani