Xem xét một ứng dụng VueJS cho phép hiển thị/chỉnh sửa các bài đăng trên blog.Cách thích hợp để đồng bộ hóa các đạo cụ với dữ liệu
- Khi nhấp vào "chỉnh sửa blogpost" một phương thức (thành phần Vue) được hiển thị để chỉnh sửa blogpost hiện tại (chỉ là đối tượng js bình thường).
- Để kết thúc này, tôi vượt qua bài đăng blog hiện tại dưới dạng
prop
thành thành phần phương thức. - Thành phần phương thức có một số trường biểu mẫu phải được điền bằng thuộc tính blogpost.
- Tuy nhiên, cách Vue là có đối tượng
data
trên thành phần Phương thức hoạt động như mô hình để điền vào các trường biểu mẫu và ngược lại, được cập nhật khi người dùng thay đổi các trường biểu mẫu.
Vấn đề: Làm thế nào để kết nối các bài đăng trên blog được thông qua như là một prop
đến data
trường của phương thức thành phần sao cho:
- bài đăng blog populates các trường mẫu
- các bài đăng trên blog được cập nhật khi cập nhật các trường biểu mẫu
Cách Vue chính xác để thực hiện việc này là gì?
Đến với tùy chọn 4 (dựa trên trò chuyện gitter vuejs) có vẻ như hoạt động.Điều này được dựa trên việc nhận ra rằng tất cả các đạo cụ tự động là một phần của 'dữ liệu' (không cần phải có' đồng bộ' ở đây) Vì vậy nếu tôi có một lệnh gọi là 'blogpost' (một đối tượng đơn giản), tôi chỉ có thể sử dụng blogpost trong mẫu thành phần như do đó ''. Điều này với cùng một caveat như tùy chọn của bạn 1, trong đó cập nhật được thực hiện ngay lập tức, vì vậy tôi cần phải chắc chắn để giữ một 'blogpostOld' xung quanh hoặc một cái gì đó để hợp nhất trở lại vào ngày hủy bỏ. Cảm ơn vì tổng quan tuyệt vời. –
Có, 'props',' data' và 'computed' có cùng chất lượng. NHƯNG, theo như tôi hiểu, mặc dù, khi bạn vượt qua một prop cho một mục, mối quan hệ là một chiều xuống (một sự thay đổi trong phụ huynh được thông qua cho trẻ em). Nếu bạn sử dụng '.sync', quan hệ sẽ trở thành' hai chiều': một thay đổi dữ liệu trong con cũng thay đổi phụ huynh: https://vuejs.org/guide/components.html#Prop-Binding-Types –
Chắc chắn nhìn thấy hành vi hai chiều dự định mà không xác định 'đồng bộ'. Tôi đoán điều này là bởi vì tôi đang đi qua một tham chiếu đối tượng thay vì một loại đơn giản như chuỗi. –