Sjabloonhelpers zijn reactief, wat betekent dat ze zichzelf updaten wanneer de app-status verandert of nieuwe gegevens verschijnen. In uw geval wordt de helper onmiddellijk aangeroepen wanneer de sjabloon wordt weergegeven en vóór de Meteor.users
collectie is gevuld. Daarom is de .findOne()
methode retourneert undefined. Het wordt gecorrigeerd in de tweede doorgang nadat nieuwe gegevens zijn binnengekomen.
De eenvoudige oplossing hier is om te controleren of de gegevens aanwezig zijn in de helper:
myClub: function(){
var currenUserId = Meteor.userId();
var user = Meteor.users.findOne({_id: currenUserId});
if(!user) return 'NO DATA';
return user.role;
},
In het echte leven wilt u waarschijnlijk wachten tot de basisgegevens zijn geladen voordat u de sjabloon rendert. Dat gebeurt meestal op controllerniveau.