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

Другие вопросы по тегам