2015-02-14 2 views
0

Текущий общий шаблон Iron Router предназначен для отображения шаблона загрузки в ожидании доступности данных. Но я предпочел бы просто подождать в предыдущем визуализированном контексте шаблона/данных до тех пор, пока данные не будут доступны, а затем вызовет повторную передачу. Данные быстро доступны, так что короткое мерцание шаблона загрузки хуже, чем небольшая задержка, которую пользователь почувствует после щелчка ссылки.Как приостановить рендеринг шаблона Iron Router до тех пор, пока не будут доступны все данные?

ответ

1

Этот шаблон работает для вас?

Router.route('/', { 
    name: 'nameOfTemplate', 
    data: function() { return CollectionName.find({title: 'nameOfMongoDBQuery'}); }, 
    waitOn: function() { return Meteor.subscribe('nameOfSubscription'); } // waits until resources arrive before rendering page 
}); 
+0

Нет, этот шаблон по-прежнему отображает шаблон загрузки по умолчанию в ожидании подписки. – Mitar

0

Вы хотите задать явную action функцию следующим образом:

action: function() { 
    if (this.ready()) { 
     this.render(); 
    }  
} 

Это будет просто ничего не делают, пока данные не вокруг.

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