Подтвердить что ты не робот

Ember определяющие действия, в контроллере против маршрута

От официальных гидов:

Если контроллер не реализует метод с тем же именем, что и действие в своем объекте действий, действие будет отправлено на маршрутизатор, где текущему активному маршруту листа будет предоставлена ​​возможность для обработки действия.

Итак, каковы плюсы и минусы определения методов действий в контроллере и определения методов действий в маршруте? Как я вижу, гиды не говорят об этом. Определение в контроллере может быть "более быстрым" в смысле предотвращения срабатывания действий.

4b9b3361

Ответ 1

Хороший вопрос, хотя, возможно, не идеальный вариант для формата SO.

Простым ответом является размещение связанных с маршрутизацией действий в маршрутизаторе, а также действия, связанные с контроллером/моделью в контроллере.

Если вы обнаружите, что вызываете this.controllerFor в действии маршрутизатора или this.get('target') в действии контроллера, есть хороший шанс, что вы упустили действие.

Действия, связанные с переходом, часто являются хорошим выбором для ввода маршрута. Такие действия, как изменение или сохранение модели, вероятно, принадлежат контроллеру.

Помните, что действия выходят из листовых маршрутов в родительские маршруты. Поэтому, если вы хотите определить действие, применимое к группе дочерних маршрутов, имеет смысл поместить это в родительский маршрут.