2011-04-17 16 views
11

Một cách hay để tổ chức chế độ xem là gì? Giả sử tôi có div sẽ chứa chế độ xem từ góc độ quản trị viên của người dùng - sẽ có danh sách người dùng cùng với tùy chọn để chọn số lượng hiển thị tại một thời điểm, tùy chọn sắp xếp, trang nào cần bật, bộ lọc, vv ...backbone.js - lượt xem trong lượt xem và quản lý sự kiện

Tôi có muốn chế độ xem bên ngoài chứa mọi thứ ngoại trừ bảng và dữ liệu không? Và sau đó một cái nhìn bên trong có chứa bảng (cùng với dữ liệu)? Và liệu sự phân trang sẽ có quan điểm riêng của nó? Và chế độ xem pagination sẽ sử dụng sự kiện nhấp chuột để cập nhật chế độ xem người dùng như thế nào? Tôi chỉ bối rối về cách tổ chức lượt xem trong khi vẫn có thể có các sự kiện khác nhau kích hoạt chế độ xem khác cho render()/bộ sưu tập đến fetch().

Vì vậy, một hệ thống phân cấp cơ bản sẽ như thế nào:

- User View 
    - Table 
    - List of Users 
    - Pagination 
    - List of available numbers to click 
    - Filters 
    - Possible filters to apply to the data 

Tuy nhấp chuột vào một bộ lọc hoặc số trong pagination sẽ có thể để có được bộ sưu tập để fetch() dữ liệu mới và làm mới quan điểm;

+1

Tôi không chắc chắn 100% tôi hiểu câu hỏi của bạn là gì, nhưng có lẽ bài đăng trên blog này sẽ chỉ cho bạn một hướng tốt [Binding A Collection To A View] (http://liquidmedia.ca/blog/2011/ 02/backbone-js-part-3 /) – dogenpunk

+0

Có một câu hỏi tương tự mà tôi đã trả lời về mức độ chi tiết xem: http://stackoverflow.com/questions/4463136/whats-the-appropriate-granularity-for-backbone-js-views/4464570 # 4464570 – Julien

Trả lời

0

Tôi cố gắng phản ánh cấu trúc MVC phía máy chủ của mình nhiều nhất có thể.

Mọi thứ có thể được đưa vào plugin, tôi làm như vậy và sau đó tôi giữ các plugin đó ở một vị trí riêng biệt với bộ điều khiển gọi là plugin. Vì vậy, trong trường hợp của bạn, chế độ xem bảng cho danh sách người dùng sẽ được giữ trong plugin bảng hoặc có thể trong mô-đun 'người dùng' nếu đó là mã tôi thực sự chỉ sử dụng một lần.

Nếu tôi cần ghi đè đầu ra của plugin, sau đó tôi lưu trữ chế độ xem bên trong thư mục mô-đun.

Những gì tôi cố gắng tránh làm là lưu trữ chế độ xem hoàn toàn bằng loại HTML bên trong, vì vậy tôi sẽ không lưu trữ chế độ xem của mô-đun là 'bảng' vì điều đó sẽ gây nhầm lẫn nếu sau này thay đổi thành danh sách. Rõ ràng, nếu tôi có một plugin 'bảng' thì khung nhìn cho rằng sẽ là một bảng, nhưng sau đó thay đổi chế độ xem JavaScript có nghĩa là chỉ cần thay đổi cuộc gọi plugin từ 'bảng' thành 'danh sách'.

3

Tôi thứ hai dogenpunk. Tôi sẽ có một Bộ sưu tập/Chế độ xem của người dùng. Vì toàn bộ hệ thống phân cấp bạn mô tả ở trên là về một Bộ sưu tập người dùng đó. Tất cả các chức năng của nó thao tác bộ sưu tập đó và sau đó bạn quay lại Chế độ xem người dùng.

Bạn có thể có Chế độ xem người dùng thứ hai, một Người dùng duy nhất, được gắn với Mô hình nếu bạn chỉ muốn áp dụng thay đổi cho máy chủ cho người dùng đó.

0

2 xu của tôi cho câu hỏi ban đầu của bạn. Nếu bạn thực sự muốn biến nó thành một MV *, một phân trang sẽ là một khung nhìn, bảng của bạn sẽ là một khung nhìn. Và yêu cầu bộ sưu tập của bạn gửi các sự kiện (kích hoạt) để thay đổi chế độ xem của bạn. Và một câu hỏi khác tôi sẽ tự hỏi bản thân mình cũng là những gì sẽ bị ảnh hưởng khi bộ sưu tập của tôi thay đổi? Ví dụ, trong trường hợp của bạn, tôi không nghĩ rằng các thay đổi bộ sưu tập sẽ ảnh hưởng trực tiếp đến userView của bạn, nó chỉ ảnh hưởng đến Bảng và Phân trang.