2017-09-26 1 views
0

Ich bin schon eine Weile dabei. Das Problem mit ist, dass diese Codezeile nie ausgeführt wird let userSchool = SchoolDb.findOne({slug: Session.get('ReceivedSlug')}); Wenn ich mich an der Konsole anmeldete, sehe ich, dass der Slug dynamisch ist, wie es sein soll, den Datensatz von der Datenbank zu ziehen. Was soll ich richtig machen? Die OnCreated VorlageFindOne wird nie ausgeführt Meteor js

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

Die Hilfsfunktion

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; 
      } 
     } 
    }, 

Antwort

0

Können Sie bitte prüfen, ob das Abonnement abgerufenen Daten hat. Konsolen Sie auch innerhalb veröffentlichen, dass Daten veröffentlicht werden, wenn Slug geändert wird.

Verwenden Sie den folgenden Code zu überprüfen, ob Abonnement

Meteor.subscribe('SingleSchool', Session.get('ReceivedSlug'), { 
    onReady: function(){ 
     console.log(SchoolDb.find({}).fetch()); 
    } 
}); 
arbeitet
Verwandte Themen