2013-09-16 5 views
4

Перед использованием железа-маршрутизатора я прикрепил событие с помощью:Как добавить события при использовании железного маршрутизатора и метеора?

Template.templatename.events = {}; 

С железным маршрутизатором, передавать данные с помощью атрибута данных в маршруте, и, как правило, не трогает глобальный объект Template ... так где я должен помещать события? Должен ли я продолжать использовать Template.tempaltename.events?

Предполагается, что вы используете глобальный объект Template совместно с железным маршрутизатором?

ответ

3

Вы путаете две вещи: шаблон «класс» и шаблон «экземпляр». С помощью Template.name.events вы создаете глобальное поведение приложения: как визуализируются заданные шаблоны, как он реагирует на данные, на пользовательские события.

Данные, которые вы отправляете с маршрутизатором, привязаны к данному шаблону экземпляр, то есть единственный объект, связанный с узлом DOM, который отображается на веб-странице.

Так что да, вы все равно должны использовать Template.name.events, а также вы можете использовать Template.name.rendered, .created, .deleted, .customDataHelper и так далее.

 


 

Кстати, лучше использовать полную версию events:

Template.name.events({ 
    ... 
}); 

Это избавляет вас от нескольких проблем в долгосрочной перспективе ,

+0

Hubert, я обычно использую первый синтаксис. Какие проблемы возникают из-за второго? –

+0

Мне также интересно, что спросил Джим. –

+0

@JimMack Я считаю, что первый из них устарел. – BenjaminRH

1

Да, я продолжал бы присоединять такие события. Железный маршрутизатор не меняет способ работы пользовательского интерфейса. Тем не менее, я буду следить за обновлениями, потому что новый Meteor UI, над которым работает команда разработчиков, будет готов, вероятно, в течение следующего месяца или двух, и в этом случае все это изменится.

+0

Спасибо за головы об этом. Я понял, что что-то вроде этого может быть в работах ... Метеор в 0.6.5 ... довольно молодой;) –