При разработке расширенных маршрутов и вложенных шаблонов/данных в проекте Meteor я пытаюсь провести различие между компонентами маршрута в Iron Router и params
и их наилучшее использование.Meteor Iron-Router, получающий доступ к переменным через [data] vs [params]
Целью является просто передать простые переменные/параметры в шаблон. Что лучше, использовать params
или data
, и каковы основные отличия или преимущества в таком контексте?
Для меня самая большая разница заключается в том, что data
доступен как контекст данных в шаблоне Blaze, а для доступа к params
требуется передать эту переменную шаблону через связанный помощник.
Мне лично не нравится идея устанавливать полные контексты данных (из запросов db) в конфигурации маршрутизатора и предпочитает делать это в помощниках. Таким образом, я чувствую, что самый простой способ передать эти параметры шаблону на самом деле через объект data
, сохраняя лишний код, который нужно записать.
Однако это, похоже, противоречит обычной практике, поэтому я ищу все, что я пропустил, почему это так.
пример с использованием данных:
Router.route('aRoute', {data: {var: "this var"}});
я могу получить доступ в шаблоне "aRoute":
{{var}}
Versus Использование Титулы:
Router.route('aRoute', {params: {var: "this var"}});
Мне нужно создать помощник первым:
myVar : function() {return Router.current().params.var};
Тогда я могу получить доступ к объекту в шаблоне "aRoute":
{{myVar}}
У меня есть это право? Я что-то пропустил? Если я не использую data
маршрутизатора для контекстов данных (как обычно используется), подходит ли этот шаблон?
Просто для того, чтобы прояснить контекст: я просто передаю параметр, который помещает шаблон как «редактируемый», так что либо 'params {edit: TRUE}', либо 'data {edit: TRUE}' - это параметры, которые я ищу в. Также я продолжу эту модель с помощью будущей разработки приложения, поэтому я хочу сделать осознанный выбор на этом этапе. – robertdavid
Я думаю, что я понимаю различие между ними как «данные» в первую очередь для шаблонов и рендеринга, в то время как «params» лучше всего подходит для передачи параметров на сервер для запросов БД, например. – robertdavid