Tôi đang làm việc để tái cấu trúc ứng dụng Ember kế thừa, với một chút rối loạn không mvc đối với nó. Tôi đang tìm cách giữ những thứ như mô-đun càng tốt, và tôi hy vọng sẽ tái sử dụng các thành phần ui khác nhau trong nhiều màn hình để giúp ngăn chặn trùng lặp mã.Ember.js - Làm cách nào để nhắm mục tiêu các cửa hàng ở chế độ xem lồng nhau/lặp lại và các phương pháp hay nhất cho bố cục ui như thế nào?
Dường như các cửa hàng là cách tốt nhất để thực hiện việc này.
Ngay bây giờ, tôi có giao diện người dùng hiển thị một số phần tử, mỗi phần tử được hiển thị bằng chế độ xem khuôn mặt.
{{#each item in controller}}
{{view App.ItemThumbView}}
{{/each}}
Thanh bên phải của chế độ xem này là lối ra thay đổi dựa trên lựa chọn. Khi tôi chọn một mục, tôi muốn hiển thị danh sách các hoạt động chỉnh sửa trong chế độ xem phụ được templatized, khi được chọn, hãy hiển thị giao diện người dùng chỉnh sửa thích hợp thông qua một ổ cắm lồng nhau.
Về cơ bản
+---------------------------------------------------+
| Parent Pane
|
| +------------------------------+ +----------+
| | Device Section | | Sidebar |
| | | | [Outlet] |
| | +--------+ +---------+ | | |
| | | Dev 1 | | Dev 2 | | | |
| | |[outlet]| | [outlet]| | +----------+
| | +--------+ +---------+ |
| +------------------------------+
+--------------------------------------------------+
Những quan điểm lồng nhau tất cả các chia sẻ cùng một bộ điều khiển - có ý nghĩa - nhưng tôi cần để có thể kết nối một cái nhìn được lựa chọn để ổ cắm tương ứng của nó. Nỗ lực ban đầu của tôi khi kết nối các cửa hàng không bao giờ hiển thị. Các mã không thất bại ở tất cả, do đó, bộ điều khiển chỉ cập nhật một lối thoát ẩn.
Làm cách nào để nhắm mục tiêu đúng cửa hàng cho chế độ xem lồng nhau trong Ember? (Tốt nhất, tôi dường như có thể nhấn vào ổ cắm bên, nhưng không phải là lối thoát trong một mẫu thiết bị lồng nhau.) Và đây có phải là cấu trúc hợp lý để triển khai thực đơn theo ngữ cảnh ở vị trí đầu tiên không?
* Để làm rõ Với thiết lập hiện tại, mỗi mục thiết bị được hiển thị bằng cùng một mẫu. Khi được chọn, thanh bên sẽ cập nhật thông tin meta của một số thiết bị, trong khi chế độ xem thiết bị được chọn cũng sẽ kết nối ổ cắm của nó với menu chỉnh sửa. Chỉ một mục thiết bị sẽ có ổ cắm 'chỉnh sửa' được kết nối tại một thời điểm.
Có ý nghĩa khi sử dụng ổ cắm ở đây hay tôi có nên bỏ logic điều kiện vào mẫu để hiển thị menu chỉnh sửa khi cần thiết không?
Update để xác định lại thực hiện những phần tốt nhất của câu hỏi:
Outlets dường như là tuyệt vời cho tách thành phần, và nestings xem tiềm năng trong tương lai và cách nhiệt. Nhưng ngay bây giờ có vẻ như việc truy cập đúng ổ cắm cho một khung nhìn lồng nhau là hơi cồng kềnh. Hơn nữa, nếu bạn luôn biết (các) thành phần nào sẽ được lồng ghép có điều kiện trong một khuôn mẫu, có vẻ như dễ dàng chỉ cần mã hóa các khung nhìn của bạn. ví dụ:
// within template used for individual result-list items
{{#if condition }}
{{view reusableSubView}}
{{/if}
Cách ưa thích làm việc ở đây là gì? Có bất kỳ chi phí nào để tạo ra các cửa hàng có thể không nhất thiết phải được kết nối vào mọi lúc không?