Хороший вопрос. Похоже, действия нарушают паттерн MVC, объединяя парадигмы View и Controller под одной крышей. Поскольку у них есть обработчики, они несут с собой функциональность, а также элементы пользовательского интерфейса, такие как текст и значки. Однако они не являются компонентами - в ExtJS смысле этого слова. Следовательно, вы не можете нацелить их с помощью селектора.
Лучший способ думать о них как об объекте конфигурации. Не больше, не меньше. Объект конфигурации сам по себе не имеет смысла и не может быть целью. То же самое с действиями. Они могут фактически использоваться как объект конфигурации для кнопок, например.
Теперь, куда они должны идти? Я думаю, что ответ на этот вопрос действительно зависит от вас, как от дизайнера. Поскольку они не соответствуют строгому шаблону MVC, вы можете принять решение, основываясь на том, насколько широко вам нужно, чтобы конкретное действие было доступно. Для действительно глобального действия, которое разделяют многие представления, вы можете даже поместить его в конфигурацию приложения: например, MyApp.app.actions ["delete"].
Контроллер может быть хорошим местом для его установки, если этот контроллер настроит несколько представлений и соединит их вместе с хранилищами. Они могут соединить несколько представлений с общими действиями.
Надеюсь, это поможет. Удачи:)