2016-05-18 4 views
1

У меня есть функция данных маршрутизатора, которая вызывает метод Meteor для вставки нового документа в коллекцию. Я заметил, что документ вставлялся дважды, а затем я заметил, что сама функция данных вызывается дважды при каждом посещении маршрута. Я не могу понять, почему это происходит.Функция данных Meteor Router вызывается дважды

Router.route('/myurl',{ 
    name: 'myurl', 
    path: '/myurl', 
    data: function() { 
     console.log('dupe?'); 
     // the data function is an example where this.params is available 

     // we can access params using this.params 
     // see the below paths that would match this route 
     var params = this.params; 

     // we can access query string params using this.params.query 
     var post = this.params.query; 

     // query params are added to the 'query' object on this.params. 
     // given a browser path of: '/?task_name=abcd1234 
     // this.params.query.task_name => 'abcd1234' 
     if(this.ready()){ 
      Meteor.call('points.add', post, function(error, result){ 
      if(error) 
      { 
       Session.set("postResponse", "failed"); 
      } 
      else 
      { 
       Session.set("postResponse", "success"); 
      } 
      }); 

      return {_message: Session.get("postResponse")}; 

     } 
    } 
}); 

ответ

1

Я смог исправить это, переместив все данные под ключ Router.onRun.