Tôi đồng ý với các câu trả lời phát ra sự kiện và mô hình v cho những người ở trên. Tuy nhiên, tôi nghĩ rằng tôi sẽ đăng những gì tôi tìm thấy về các thành phần có nhiều thành phần biểu mẫu muốn phát lại cho cha mẹ của chúng vì đây có vẻ là một trong những bài viết đầu tiên được google trả về.
Tôi biết câu hỏi chỉ định một đầu vào duy nhất, nhưng đây có vẻ là trận đấu gần nhất và có thể giúp mọi người tiết kiệm thời gian với các thành phần vue tương tự. Ngoài ra, không ai đã đề cập đến .sync
sửa đổi chưa.
Theo tôi biết, v-model
giải pháp chỉ phù hợp với một đầu vào trả về cho cha mẹ của họ. Tôi đã mất một chút thời gian để tìm kiếm nó nhưng tài liệu Vue (2.3.0) cho thấy cách đồng bộ nhiều đạo cụ được gửi vào thành phần trở lại cha mẹ (tất nhiên là thông qua phát ra).
Nó được gọi một cách thích hợp là công cụ .sync
sửa đổi.
Đây là những gì tài liệu nói:
Trong một số trường hợp, chúng tôi có thể cần ràng buộc hai chiều của Haiti cho một chỗ dựa. Thật không may, ràng buộc hai chiều thực sự có thể tạo ra các vấn đề bảo trì, bởi vì các thành phần con có thể gây đột biến cha mẹ mà không có nguồn gốc của đột biến đó là rõ ràng ở cả cha mẹ và con.
Đó là lý do tại sao thay vào đó, chúng tôi khuyên bạn nên phát ra các sự kiện theo mô hình
update:myPropName
. Ví dụ: trong một thành phần giả thuyết có chỗ dựa
title
, chúng ta có thể truyền đạt ý định gán giá trị mới với:
this.$emit('update:title', newTitle)
Sau đó, phụ huynh có thể nghe sự kiện đó và cập nhật một thuộc tính dữ liệu cục bộ, nếu nó muốn. Ví dụ:
<text-document
v-bind:title="doc.title"
v-on:update:title="doc.title = $event"
></text-document>
Để thuận tiện, chúng tôi cung cấp một tốc ký cho mẫu này với công cụ sửa đổi .sync:
<text-document v-bind:title.sync="doc.title"></text-document>
Bạn cũng có thể đồng bộ nhiều lần cùng một lúc bằng cách gửi qua một đối tượng. Kiểm tra tài liệu ở đây