2017-09-14 5 views
1

내 유성각 프로젝트에 [email protected] 패키지를 사용하고 있습니다.메테오 각도로 페이지를 새로 고침 할 때마다 'Meteor.user()`메소드가 정의를 반환합니다.

Meteor.user() 메서드는 현재 사용자 정보를 반환하지만 페이지를 새로 고치면 undefined을 반환합니다. 이 오류를 제거 할 수있는 방법이 있습니까? 어떤 도움을 주시면 감사하겠습니다.

Meteor.autorun(function() { 
    vm.loggedInUser = Meteor.user(); 
}); 

그것은 잘 일하고있어하지만 페이지를 다시로드 할 때 그것은 undefined

Meteor.autorun(function() { 
    vm.loggedInUser = Meteor.user(); 
    console.log("loggedInUser", vm.loggedInUser); // undefined 
}); 
+0

귀하의 질문은 너무 광범위합니다. 더 많은 정보와 코드를 추가해야 문제를 이해할 수 있습니다. – Styx

+0

더 많은 정보를 가지고 제 질문을 개선했습니다. 도움이 될만한가요 –

+0

'트래 커. 오토런 '을 의미 하셨죠? – Styx

답변

3

를 반환하면 데이터를 통해 서버에서 클라이언트로 재전송 될 때까지 Meteor.user() 몇 사이클 정의되지 않습니다 페이지를 새로 고침 할 때 websocket/ddp. 결국 정의되고 올바른 데이터를 갖게됩니다. Meteor에 내장 된 것과 같은 단일 페이지 응용 프로그램은 대개 페이지 새로 고침을 요구하지 않지만 사용자가 수동으로 새로 고치는 경우를 처리해야합니다. 일반적인 해결책은 구독 및 사용자 데이터가 준비 될 때까지 로딩 회 전자를 표시하는 것입니다.

은 또한 그것은 Tracker.autorun()하지 Meteor.autorun()

+0

한 경로에서 다른 경로로 전환 할 때 서버에서 데이터를 검색합니다. –

+0

경로를 어떻게 바꾸고 있습니까? 앱의 링크를 클릭하고 있습니까? 또는 브라우저에 새 URL을 입력 하시겠습니까? 전자의 경우'Meteor.user()'는 계속 사용 가능해야하지만 두 번째 경우에는 실제 페이지 새로 고침과 동일합니다. –