2017-09-26 5 views
0

나는 잠시 동안이 작업을 해왔습니다. 문제는이 코드 줄이 실행되지 않는다는 것입니다. let userSchool = SchoolDb.findOne({slug: Session.get('ReceivedSlug')}); 콘솔에 로그온하면 db에서 레코드를 끌어 오기 때문에 슬러그가 동적이라는 것을 알 수 있습니다. 내가 뭘해야 할까? oncreated 템플릿FindOne이 실행되지 않습니다. Meteor js

Template.view.onCreated(function() { 
    Session.set('ReceivedSlug', FlowRouter.getParam('myslug')); 
    this.autorun(function() { 
     Meteor.subscribe('SingleSchool', Session.get('ReceivedSlug')); 
    }); 
}); 

도우미 기능

singleSchool: function() { 
     if (Meteor.userId()) { 
      console.log('reactive this ---- ' +Session.get('ReceivedSlug')); 
      let userSchool = SchoolDb.findOne({slug: Session.get('ReceivedSlug')}); 
      if (!userSchool) { 
       Bert.alert('School not present', 'danger', 'growl-top-right'); 
      } else { 
       console.log('school name ----' +userSchool.slug); 
       return userSchool; 
      } 
     } 
    }, 

답변

0

당신은 구독이 가져온 데이터를 가지고 있는지 확인하십시오 수 있습니다. 또한 내부 콘솔은 슬러그가 변경되었을 때 데이터가 게시되는지 여부를 공개합니다. 구독

Meteor.subscribe('SingleSchool', Session.get('ReceivedSlug'), { 
    onReady: function(){ 
     console.log(SchoolDb.find({}).fetch()); 
    } 
}); 
를 작동하는지 코드 아래

사용 확인