Ember: Как получить доступ к элементу, когда происходит действие?
Я новичок в Ember
и я не уверен, как поступить так, как Эмбер, поэтому я обращаюсь к вам.
Моя проблема:
У меня есть боковая панель, я создал View
для этого. У меня две кнопки на боковой панели на данный момент. Я добавил action
для каждой кнопки на нем. Я не уверен, должен ли я обращаться с этим на диспетчере или на представлении. Я хочу нажать на одну из этих кнопок, вставить новое представление, которое откроет всплывающее меню, а также кнопку, которая вызвала действие, чтобы остаться в выбранном состоянии.
Я не очень уверен, как это сделать. Я пытался настроить таргетинг на представление с помощью действия, но у меня нет доступа к целевому элементу или, по крайней мере, я не знаю, как получить к нему доступ (попытался this.$()
).
Какой путь вы предлагаете следовать?
1 ответ
Действия пользователя обрабатываются с помощью методов на Controller
или Route
, Вы должны положить их в actions
хэш:
App.MyController = Ember.ObjectController.extend({
actions: {
doSomething: function() {
// do it here
}
}
});
Ember управляет DOM и автоматически вставляет представления на основе ресурсов и маршрутов. Если вы не хотите использовать маршрутизатор, вы можете вручную управлять иерархией представлений, но я бы посоветовал вам ознакомиться с маршрутизацией Ember, прежде чем пытаться просматривать вручную.
На твоем месте я бы создал Component
что обработал кнопку. У вас будет ссылка на элемент DOM в didInsertElement
обратный вызов: http://emberjs.com/api/classes/Ember.Component.html