2015-04-13 2 views
0

Эмблема syntax guide показывает вы можете прикрепить действия к элементу как этотСинтаксис нескольких прослушивателей событий в Emblem JS?

a click="toggleHeader" my plain text 

который компилирует к этому в рукоятках:

<a {{action toggleHeader on="click"}}>my plain text</a> 

Для нескольких слушателей событий на том же элементе, может вы что-то вроде этого

a click="toggleHeader" touchEnd="toggleHeader" 

или

<a {{action toggleHeader on="click touchEnd"}}>x</a> 

Я пробовал оба, но не работает.


Это даже необходимо подключить несколько слушателей событий при попытке сделать нажав в браузере ведут себя так же, как прикосновение в мобильных или сенсорных экранах?

Если у Ember уже есть методы удобства, которые учитывают сетевые и мобильные события, можете ли вы указать мне ссылку. This link не подходит, потому что он просто перечисляет имена и не сообщает вам, являются ли какие-либо композиционные прослушиватели событий.

Надеюсь, что линия между ноутбуками и сенсорными экранами станет размытой, в итоге у нас будет vanilla jQuery, который учитывает оба типа с помощью одного метода (если только комбинированные пакеты уже существуют).

ответ

1

Как показано на рисунке this JSBin, вы не можете запускать несколько событий с помощью встроенного вспомогательного помощника action. There's been discussions о добавлении этого типа функциональности, но я считаю, что они все закончились командой Ember, предлагающей вам использовать представление вместо встроенного помощника action.

Так что я предполагаю, что Эмблема не будет выводить то, что вы хотите, потому что это неверно. Я предлагаю использовать представление или компонент для достижения желаемого.

+0

Я не уверен, что понимаю, как компоненты или взгляды решают эту проблему. Шаблоны компонентов по-прежнему используют помощник действий. Я бы очень признателен за пример или короткое объяснение. Я читал руководства, но этот аспект наличия нескольких слушателей в одном и том же элементе не ясен для меня. – ahnbizcad

+1

Вам не нужно использовать помощник действий, вы можете [определить обработчики событий в представлении] (http://guides.emberjs.com/v1.11.0/views/handling-events/), который будет вызываться Эмбер автоматически. – GJK

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