2016-08-08 5 views
0

에서 데이터를로드하지 유성에 해제 {react : false}로 작성된 특정 데이터는로드되지 않지만 다른보기에서 탐색하는 경우 다른보기로 이동해도 해당보기로 이동합니다. 첫 번째 하중에서만 문제가 있습니다. 나는 {반응 : 거짓}를 제거하면 그 작업이 여기에반응성 내가이</p> <p>반응성 비활성화가 제대로 작동 클라이언트 측에 대한 angular2을 사용하고 유성 하나 개 가입 등의 비 반응성 만들고 있었다하지만 난 페이지를 새로 고칠 때 내가 문제를 내놓았다 첫 번째로드

Meteor.publish("ThreesixtyMenu", function() { 
    return ThreesixtyMenu.find({}); 

    }); 

그리고 난, 빠른 해결책을 기대에 감사 그것을

Meteor.subscribe('ThreesixtyMenu') 
this.menudata = ThreesixtyMenu.find({},{reactive:false}) 
return this.menudata; 

을 가입하는 방법 코드를 게시하려면 코드입니다

완벽한 advance

답변

0

findreactive: false으로 전화하지 말아야 구독이 준비됩니다. 데이터가 클라이언트에 도착하는 데 시간이 걸리므로 find은 데이터가있을 때까지 아무 것도 반환하지 않습니다.

반응성을 활성화하면 find이 두 번 호출됩니다. 첫 번째 호출은 undefined을 리턴하고 (위와 같은 이유로), 두 번째 호출은 서브 스크립 션의 데이터가 도착하면 트리거되어 올바른 결과를 제공합니다.

요약 : 반응이 없으면 데이터를 가져 오기 전에 구독이 준비 될 때까지 기다려야합니다.

+0

이 정보를 제공해 주셔서 감사합니다. 하지만 전화를하지 않으면 코드를 작성해야합니다. –

+0

각도에 익숙하지 않아 코드에 솔루션을 통합하는 방법을 모르겠지만'구독 '은 여러 종류의 콜백을 허용합니다. onReady 콜백을 포함하여 https://docs.meteor.com/api/pubsub.html#Meteor-subscribe – chrisklaussner