2016-03-17 3 views
0

я установил поле данных с Iron маршрутизатор, содержащим 2 поля quizz и questions:Метеор - «это» возвращает функцию в виде строки в случае шаблона

Router.route('/profile/quizz/:_id/edit', { 
    template: 'quizzEdit', 
    name: 'quizzEdit', 
    data: function(){ 
     var id = this.params._id; 
     return{ 
      quizz: function(){ 
       return Quizz.findOne({_id: id}); 
      }, 
      questions: function(){ 
       return Questions.find({}); 
      } 
     } 
    } 
}); 

В представить события моего шаблона, я хочу, чтобы получить значение из моих полех, это то, что я делаю:

Template.quizzEdit.events({ 
    "submit .new-question": function(event){ 

     event.preventDefault(); 

     console.log(this.quizz); 

     event.target.name.value= ""; 
    } 
}); 

проблема заключается в console.log(this.quizz), я хотел бы протоколирую объект MongoDB, так что я могу получить доступ к вещам, как this.quizz._id, но вместо того, что лог строки, содержащей исходный код своего маршрутизатора :

function() {  // 41 
    return Quizz.findOne({ _id: id }); // 42 
} 

Вот изображение моей хромированной консоли:

Google console http://img15.hostingpics.net/pics/385623Capture.png

ответ

0

Попробуйте вызвать функцию:

console.log(this.quizz()); 
+0

Это похоже на работу с использованием Quizz() ... почему не может Я использую this.quizz? – user2108742

+0

quizz - это ссылка на функцию. Вам нужно выполнить функцию для получения данных. – Areca

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

  • Нет связанных вопросов^_^