Last active
November 17, 2016 22:09
-
-
Save dimitriipro/d20415cd6e16c750fecf3a60cbbbefb1 to your computer and use it in GitHub Desktop.
Заметка по спецификации Iron Router (Meteor)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Router.route('/post/:_id', { | |
// Имя маршрута | |
// Используется для упрощения поиска шаблона, если конечно он не указан | |
// в опциях шаблона. Если name не объявлено то роутер ищет имя основываясь | |
// на пути '/post/:_id' | |
name: 'post.show', | |
// Поддержка устаревшей версии | |
path: '/post/:_id', | |
// Если необходима сделать специфический RouteController вместо анонимного | |
// Подробнее смотреть в разделе Controller | |
controller: 'CustomController', | |
// Если имя маршрута отличается от названия шаблона, необходимо указать его | |
template: 'Post', | |
// Какой макет должен быть использован, если не задан этот параметр | |
// используется макет по умолчанию | |
layoutTemplate: 'ApplicationLayout', | |
// Указываем в какой регион впрыснуть какой шаблон | |
yieldRegions: { | |
'MyAside': {to: 'aside'}, | |
'MyFooter': {to: 'footer'} | |
}, | |
// Место где можно разместить свои подписки | |
subscriptions: function() { | |
this.subscribe('items'); | |
// и добавить ожидание подписки(ждем пока получим данные) | |
this.subscribe('item', this.params._id).wait(); | |
}, | |
// Подписки и другие данные которые необходимо "дождаться". | |
// Различие со способом выше это использования хука, те перехватчика событий | |
waitOn: function () { | |
return Meteor.subscribe('post', this.params._id); | |
}, | |
// Функция data автоматически устанавливает данные в макет. | |
// Функция может быть использована с плагинами и перехватчиками. | |
// Например плагин "dataNotFound" смотрит возвращаются ли данные, если их | |
// нет - отрисовывается шаблон где нет данных | |
data: function () { | |
return Posts.findOne({_id: this.params._id}); | |
}, | |
// Можно использовать любой из этих перехватчиков | |
onRun: function () {}, | |
onRerun: function () {}, | |
onBeforeAction: function () {}, | |
onAfterAction: function () {}, | |
onStop: function () {}, | |
// Это то же самое как передача функции вторым параметром | |
action: function () { | |
// отрисовать все | |
this.render(); | |
} | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment