2016-06-02 10 views
0

Ich mache zwei verschiedene Apps mit Meteor. In der ersten App, witch you can see here, verwende ich ... template.текст.set(true); ... und alles funktioniert gut. Jetzt in der zweiten app habe ich FehlerReferenceError: Vorlage ist nicht definiert - Meteor?

ReferenceError: template is not defined So, what is the problem? I Checked, packages are same. Here is the code of second app:

Template.body.onCreated(function bodyOnCreated() { 
     this.TrenutniKorisnik = new ReactiveVar(true); 
}); 



Template.PrijavaKorisnika.events({ 

    'submit .Prijava': function(event) { 
     event.preventDefault(); 
     var korisnik = event.target.КорисничкоИме.value; 
     var šifra = event.target.Лозинка.value; 

     if (Korisnici.findOne({КорисничкоИме: korisnik, Шифра: šifra})) { template.TrenutniKorisnik.set(false)}; 



      event.target.КорисничкоИме.value = ""; 
      event.target.Лозинка.value = ""; 

    } 
    }); 



Template.body.helpers({ 
     TrenutniKorisnik: function() { 
       return Template.instance().TrenutniKorisnik.get(); 
     }, 
    }); 

Antwort

0

Die Vorlageninstanz ist der zweite Parameter in einem Event-Handler. Ändern Sie einfach diese:

'submit .Prijava': function(event) { 

dazu:

'submit .Prijava': function(event, template) { 

so wird template im Funktionskörper definiert werden.


Sobald Sie lösen, dass, aber Sie werden feststellen, dass TrenutniKorisnik nicht definiert ist, weil es auf der body Vorlage ist und nicht die aktuelle Vorlage. Eine Möglichkeit, dies zu lösen, ist die Verwendung einer Dateibereichsvariablen anstelle einer Vorlagen-Variablen. Hier ein Beispiel:

var TrenutniKorisnik = new ReactiveVar(true); 

Template.PrijavaKorisnika.events({ 
    'submit .Prijava': function (event) { 
    ... 
    if (Korisnici.findOne({ КорисничкоИме: korisnik, Шифра: šifra })) { 
     TrenutniKorisnik.set(false); 
    } 
    ... 
    }, 
}); 

Template.body.helpers({ 
    TrenutniKorisnik: function() { 
    return TrenutniKorisnik.get(); 
    }, 
}); 
+0

TypeError: template.TrenutniKorisnik ist undefined ... Was ist jetzt Problem? –

+0

'template' ist eine Vorlageninstanz - sie bezieht sich auf die aktuelle Vorlage. Sie haben "TrenutniKorisnik" auf dem "Körper" definiert, was nicht die aktuelle Vorlage ist. Sie könnten eine Menge Arbeit verrichten, um die Körpervorlage zu finden, aber warum definieren Sie nicht 'TrenutniKorisnik' als Dateibereichsvariable, so dass Sie all dies vermeiden können? –

+0

Also, 'TrenutniKorisnik' als neue Vorlage in neue Datei zu machen? –

Verwandte Themen