2016-04-02 8 views
0

Ich habe den folgenden Helfer:Meteor Helfer nicht Reactive

target:function(){ 
     var user = Meteor.users.findOne({_id:Meteor.userId()}); 
     if (user) { 

      var targetId = user.profile.target; 
      var target = Meteor.users.findOne({_id:targetId}); 
      if (target) { 
       console.log(target); 
       var targetInfo = target.profile.lastName + ", " + target.profile.firstName; 
       return targetInfo; 
       } 
       else{ 
       return; 
       } 

     } 

     else{ 
      return; 
     } 

    }, 

Es sollte das Ziel zurückkehren Vor- und Nachnamen, aber das Problem ist, dass ich die Seite zu aktualisieren, um sollte sie angezeigt werden soll.

, dass die Funktion

Meteor.publish("users", function() { 
    if (Roles.userIsInRole(this.userId, ['admin'])) { 
     return Meteor.users.find({"roles":{ $nin: ['admin'] }}); 
    } else { 
     return Meteor.users.find({"roles":{ $nin: ['admin'] }} , {fields: {_id:1, 'profile.firstName': 1, 'profile.lastName': 1 }}); 
    } 
}); 
+1

Wenn die Seite bei Aktualisierung funktioniert, bedeutet das normalerweise, dass es ein Problem mit dem Verleger und nicht dem Helfer gibt. Wenn Autopublish nicht aktiviert ist, können Sie angeben, wie Sie die Benutzer veröffentlichen? –

+0

Ich habe die Frage bearbeitet. – StefanL19

+0

Ich reparierte es tatsächlich, das Problem war, dass ich Felder von der Subskription ausschließen musste, um – StefanL19

Antwort

0

ist veröffentlichen Sie müssen eine Session verwenden, um es reaktiv zu machen.

Session.set("data", targetInfo); 
    ... 
    return Session.get("data"); 
+0

Dies funktioniert nicht – StefanL19

Verwandte Themen