Я хочу установить обработчик событий для обработки всех ссылок <a class="nav" />. В настоящее время я предоставляю одну и ту же запись для карт событий почти в каждом шаблоне. Я получаю такие записи, как

Template.XXX.events = { 
  'click a.nav'          : linkCallback
}

Повсюду. Есть ли способ установить обработчики событий глобально? Я не мог найти способ, когда просматривал документацию, но tmeasdays meteor-router, похоже, может это сделать. Я просто не могу понять, как это сделать.

4
Marcus Riemer 18 Янв 2013 в 13:09

1 ответ

Лучший ответ

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

<body>
  {{> body}}
</body>

<template name="body">
</template>

Template.body.events = function() {
  'click .nav': linkCallback
}
12
Rahul 18 Янв 2013 в 13:37
1
Прекрасно, поскольку события всплывают, это позволяет даже более конкретным шаблонам иметь приоритет. Спасибо!
 – 
Marcus Riemer
18 Янв 2013 в 13:51