Tôi đã bắt đầu sử dụng (kể từ vài giờ trước) Durandal với hy vọng quản lý chế độ xem và cho phép bố cục trong một trang - cách tiếp cận trước, cũng sử dụng Knockout, quá khó sử dụng để duy trì tệp HTML chất béo .Làm cách nào để truyền dữ liệu (mục đã chọn) đến Durandal bao gồm chế độ xem chi tiết?
Tôi đã cài đặt/cài đặt Durandal và tôi có thể tạo ra những quan điểm và viewmodels - tuy nhiên, tôi không biết làm thế nào để có được dữ liệu vào viewmodel để sử dụng như một cơ sở cho viewmodel mới. Ví dụ: tôi có "thanh điều hướng bên trái" để chọn mục - khi một mục được chọn, nó sẽ cập nhật "mục đã chọn" có thể quan sát được trong mô hình hiện tại, nhưng cũng cần cũng tải "chế độ xem chi tiết" chính xác ở bên phải: vì một phần lý do để thử Durandal tách riêng các thành phần/lượt xem, điều này sẽ đến từ một chế độ xem/chế độ xem riêng.
Tôi đã đọc qua tài liệu bao gồm Composition và Using Composition, nhưng phương pháp là cách chuyển dữ liệu cho chế độ xem không rõ ràng đối với tôi. Có vẻ như tôi có thể sử dụng khung nhìn với mô hình hiện có (trong khung nhìn/phạm vi hiện tại), nhưng tôi thực sự muốn chỉ sử dụng một số dữ liệu mô hình hiện tại (ví dụ: id) để lấy dữ liệu mô hình "thực" trong chế độ xem.
Vì vậy, câu hỏi của tôi;
Làm cách nào để chuyển dữ liệu ban đầu, chẳng hạn như "mục đã chọn" sang mô hình chế độ xem được xử lý? Tôi muốn sử dụng ràng buộc "compose:" khai báo, vì đó là điều khiến KO .. KO.
Đây có phải là khái niệm về việc có/chuyển dữ liệu ban đầu theo đúng cách hay không, hoặc có phương án nào tốt hơn không? Tôi đã nhìn thấy "activeItem" mơ hồ được đề cập, nhưng các chi tiết/useage cho tôi biết.
Cập nhật 1: Tôi đã tìm thấy How do we share the data between views/Pass the data view to view, nhưng những câu trả lời thiếu trong việc thực hiện thực tế. Tôi thực sự muốn không chia sẻ viewmodel giữa cha mẹ và con (cặp xem/khung nhìn riêng biệt) và tôi muốn sử dụng một cách tiếp cận khai báo (không có sự kiện). Phụ huynh không cần biết về đứa trẻ, nhưng đứa trẻ cần được cho ăn dữ liệu từ phụ huynh.
Cập nhật 2: Trong khi ở trên tôi gợi ý chỉ "id" đã được yêu cầu, tôi muốn một phương pháp làm việc với bất kỳ đối tượng cơ sở, mà các bộ định tuyến không nhất thiết phải phù hợp với. Liên kết sâu không phải là mối quan tâm trong trường hợp này. Tuy nhiên, nếu bạn cảm thấy bộ định tuyến là cách cách này để tiếp cận điều này, hãy đăng một đối số cho (chẳng hạn như chi tiết) làm câu trả lời và ít nhất tôi sẽ trả lời cho nó ..
Tôi đã kết thúc bằng cách sử dụng phương pháp này, và nó hoạt động, nhưng nó sẽ thực sự tốt đẹp nếu 'compose:' có thể truyền 'activationData', tương tự như' modalDialog.show (id, activationData) '(mà không cần lấy lõi). –
Tính năng 'activationData' đã được thêm vào bố cục gần đây. Nó được truyền cho phương thức 'activate' của viewModel, tôi tin. – neverfox