2016-06-02 2 views
0

Я делаю два разных приложения с Метеор. В первом приложении, witch you can see here, я использую ... template.текст.set(true); ..., и все работает нормально. Теперь во втором приложении я получил ошибкуReferenceError: шаблон не определен - 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(); 
     }, 
    }); 

ответ

0

экземпляр шаблона является вторым параметром в обработчик события. Просто измените это:

'submit .Prijava': function(event) { 

к этому:

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

так template будет определен в теле функции.


После того, как вы решите, что, однако, вы обнаружите, что TrenutniKorisnik не определен, потому что это на body шаблоне, а не текущий шаблон. Один из способов решения этой проблемы - использовать переменную с файловой областью, а не шаблонную. Вот пример:

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

ТипError: template.TrenutniKorisnik undefined ... Что такое проблема сейчас? –

+0

'template' - это экземпляр шаблона - он ссылается на текущий шаблон. Вы определили 'TrenutniKorisnik' на' body', который не является текущим шаблоном. Вы можете выполнить кучу работы, чтобы найти шаблон тела, но почему бы не определить 'TrenutniKorisnik' как переменную с файловым диапазоном, чтобы вы могли избежать всего этого? –

+0

Итак, чтобы «TrenutniKorisnik» стал новым шаблоном в новом файле? –

Смежные вопросы