2015-10-09 2 views
2

Я неделю или около того в Ember, и у меня есть некоторое замешательство в отношении соглашений относительно манипуляций с JQuery DOM. Поэтому я уже достаточно хорошо знаю, что Ember - все о сохранении состояния, поэтому из того, что я понимаю, прямые манипуляции с DOM с помощью jQuery - это плохая практика.Ember.js и DOM Manipulation

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

Чтобы привести пример, я в настоящее время строю систему бортового гида, которая будет проходить через пользовательский интерфейс. Это включает в себя переключение вкладок, перемещение направляющего окна вокруг страницы (для размещения рядом с другими элементами пользовательского интерфейса) и т. Д. В одном разделе есть список пунктов назначения, и мне нужно захватить первый элемент из списка, чтобы настроить его, а затем поместить в него окно путеводителя. Если бы я просто использовал jQuery, я мог бы легко нацелить элемент списка, а затем получить идентификатор первого элемента. С Эмбером мне нужно будет создать действие в списке пузыря, действие которого (кажется трудным).

Аналогичным образом, я мог бы легко использовать событие jQuery click для имитации щелчка/переключения вкладки, возможно, в одну строку кода. С Ember процесс включает в себя создание переключающего действия для этого элемента и барботирование.

Если кто-то может объяснить, почему или почему нет, это плохая практика, которая бы здорово!

+0

Этот [аддон] (https://github.com/yapplabs/ember-modal-dialog) имеет позиционные модальные диалоги. Возможно, это может сэкономить вам много времени. – Keo

ответ

1

Возможно, я не понял вашу цель достаточно хорошо, но я бы хотел сказать, что манипуляция DOM в Ember без использования jQuery не так уж болезненна. Вы можете установить динамическое имя класса для элемента, который вы собираетесь использовать (см. 'Binding Element Attributes' section in Ember guide, обратите внимание, что он отличается для версий 1.11.0+ и более ранних). И действия просто изменят свойство, которое вы используете для привязки.

Что касается хорошей или плохой практики использования jQuery: я не тестировал, как jQuery влияет на производительность приложения Ember и т. Д., Но есть одна очевидная вещь. Использование jQuery для манипуляций с DOM делает ваше приложение слишком чувствительным к изменениям шаблона HTML.

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