Câu hỏi hay. Có vẻ như hành động phá vỡ mô hình MVC bằng cách nào đó kết hợp các mô hình View và Controller dưới một mái nhà. Bởi vì họ có trình xử lý, họ mang chức năng với họ cũng như các yếu tố giao diện người dùng như văn bản và biểu tượng. Tuy nhiên chúng không phải là các thành phần - trong ý nghĩa của ExtJS. Do đó bạn không thể nhắm mục tiêu chúng bằng bộ chọn.
Cách tốt nhất để nghĩ về chúng là đối tượng cấu hình. Không nhiều không ít. Một đối tượng config là vô nghĩa bởi chính nó - và không thể được nhắm mục tiêu. Tương tự với Hành động. Họ thực sự có thể được sử dụng như một đối tượng cấu hình cho các nút ví dụ.
Bây giờ họ nên đi đâu? Câu trả lời cho rằng tôi đoán là thực sự tùy thuộc vào bạn như một nhà thiết kế. Vì họ không xác nhận mẫu MVC nghiêm ngặt, bạn có thể đưa ra quyết định dựa trên mức độ rộng rãi mà bạn cần một hành động cụ thể có thể truy cập được. Đối với một hành động thực sự toàn cầu được chia sẻ bởi nhiều khung nhìn, bạn thậm chí có thể đặt nó trong cấu hình ứng dụng: Ví dụ: MyApp.app.actions ["delete"]. Bộ điều khiển có thể là một nơi tốt để đặt nó nếu bộ điều khiển đó sẽ định cấu hình nhiều chế độ xem và kết nối chúng với nhau bằng các cửa hàng. Chúng có khả năng tạo ra nhiều lượt xem với các tác vụ được chia sẻ.
Hy vọng điều này sẽ hữu ích. Chúc may mắn :)
Cảm ơn. Tôi hiện đang cố gắng tạo một số Hành động sẽ được sử dụng trong một chế độ xem. Đó là cửa sổ với thanh công cụ và lưới. Hành động sẽ xuất hiện trong menu con thanh công cụ và trong menu ngữ cảnh khi người dùng nhấp chuột phải vào hàng lưới. Đối với kịch bản này, tôi tin rằng tôi nên đặt nó trong Controller cho cửa sổ này, phải không? Làm sao? Tôi đã sử dụng để nối các sự kiện từ bộ điều khiển đến các khung nhìn nhưng không biết cách INSERT các đối tượng trong giao diện người dùng. – Milan
Điều tôi sẽ làm sau đó là tạo các hành động trong lớp chế độ xem của bạn và có trình xử lý tác vụ kích hoạt một số sự kiện tùy chỉnh. Trong lớp điều khiển của bạn, bạn có thể nghe những sự kiện tùy chỉnh phát ra từ chế độ xem của bạn. – dbrin
Đoạn mã để kích hoạt các sự kiện tùy chỉnh từ các hành động sẽ được đánh giá cao. – Milan