2016-10-12 2 views
1

Одним из преимуществ Meteor является то, что вам нужно загружать контент только тогда, когда его нужно визуализировать, например. если у вас есть файл шаблона в/import/ui/client, он не загружается, если вы его не импортируете. Однако при использовании Iron Router мне не удалось определить, как я должен включать шаблон только тогда, когда его нужно отобразить с помощью соответствующего маршрута. Один подход, который я пытался это декларирование импорта в функции маршрутизации:Импорт шаблонов в Meteor во время маршрутизации с помощью Iron Router

Router.route('/', function() { 
    import '/imports/ui/client/home.js'; 
    this.render('home'); 
}); 

Это удается при загрузке файла шаблона, хотя я не видел никаких примеров в документации Железный маршрутизатор делает это таким образом, и я у меня были некоторые проблемы с JavaScript, которых у меня раньше не было, поэтому я сомневаюсь, что это правильный/лучший подход.

При использовании Meteor с Iron Router лучший способ включить шаблоны только тогда, когда они необходимы?

+0

Один из вопросов JavaScript я упоминал выше, что если в моем home.js файл из приведенного выше примера содержит оператор импорта с шаблоном HTML, и затем загружается JavaScript, JavaScript, который отображается перед шаблоном HTML. Шаблон HTML необходимо отобразить первым. – Barry

ответ

0
import '/imports/ui/client/home.js'; 

Router.route('/', function() { 

    this.render('home'); 
}); 

Это «стандартный» способ, как указано в большинстве examples, хотя я не вижу никакого вреда в вашем пути.

+0

Спасибо. Однако я не вижу, как это работает. Предполагая, что я определяю этот маршрут в файле routes.js в стартовой или корневой папке, шаблон, содержащийся в home.js, всегда будет загружен в приложение, а не только при визуализации домашней страницы. – Barry

+0

вы можете поделиться репо или плитой котла? – Ankit

0

я делаю это так ...

Router.route('/join', { 
    name: 'join', 
    onBeforeAction: function() { 
    import '../../ui/pages/join/join.js'; 
    this.next(); 
    } 
}); 

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

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