Dobre pytanie. Wygląda na to, że Actions przełamuje wzór MVC przez połączenie paradygmatów View i Controller pod jednym dachem. Ponieważ mają one programy obsługi, niesie ze sobą funkcjonalność, a także elementy interfejsu użytkownika, takie jak tekst i ikony. Jednak nie są one składnikami - w sensie ExtJS tego słowa. Dlatego nie możesz kierować ich na selektor.
Najlepszym sposobem na myślenie o nich jest jako obiekt konfiguracyjny. Nie więcej nie mniej. Obiekt konfiguracyjny sam w sobie nie ma znaczenia i nie może być celem. To samo z działaniami. Na przykład mogą być używane jako obiekt konfiguracyjny do przycisków.
Gdzie teraz powinny pójść? Odpowiedź na to, jak sądzę, zależy od ciebie jako projektanta. Ponieważ nie potwierdzają ścisłego schematu MVC, podejmujesz decyzję w oparciu o to, jak szeroko potrzebujesz dostępnej akcji. Dla prawdziwie globalnej akcji, która jest współdzielona przez wiele widoków, możesz nawet umieścić ją w konfiguracji aplikacji: MyApp.app.actions ["delete"] na przykład. Kontroler może być dobrym miejscem do umieszczenia go, jeśli kontroler skonfiguruje wiele widoków i połączy je ze sklepami. Mogą potencjalnie połączyć wiele widoków za pomocą akcji udostępnionych.
Mam nadzieję, że to pomoże. Powodzenia :)
Dzięki. Obecnie próbuję utworzyć niektóre Akcje, które będą używane w jednym widoku. To jest okno z paskiem narzędzi i siatką. Akcja pojawi się w podmenu paska narzędzi oraz w menu kontekstowym, gdy użytkownik kliknie prawym przyciskiem myszy na wiersz siatki. W tym scenariuszu uważam, że powinienem umieścić go w kontrolerze dla tego okna, prawda? W jaki sposób? Służyłem do przesyłania zdarzeń z kontrolera do widoków, ale nie wiem, jak INSERT obiektów w interfejsie użytkownika. – Milan
Co mógłbym zrobić, to utworzyć działania w twojej klasie widoku i uruchomić procedury obsługi zdarzeń. W klasie kontrolera możesz wysłuchać niestandardowych zdarzeń emitowanych z widoku. – dbrin
Fragment kodu do wypalania niestandardowych zdarzeń z działań byłby bardzo cenny. – Milan