Chuyển tới nội dung chính

Data Binding

Data Binding kết nối các giá trị lưu trong View Models (các container chứa dữ liệu của ứng dụng) với các thuộc tính trong cảnh Rive. Hãy hình dung như một công thức trong bảng tính — thay đổi giá trị nguồn, mọi ô tham chiếu đến nó đều cập nhật ngay lập tức. Khi dữ liệu thay đổi, cấu trúc cảnh (tập hợp các lớp và đối tượng lồng nhau trong thiết kế của bạn) tự động cập nhật. Khi thuộc tính thay đổi trong cảnh, dữ liệu cũng có thể cập nhật theo.

Bạn có thể bind những gì?

  • Vị trí X/Y của kẻ thù, điều khiển từ code runtime (đoạn code chạy ứng dụng của bạn, do lập trình viên viết)
  • Một thuộc tính màu dùng chung cho nhiều biểu tượng
  • Giá trị health điều khiển cả thanh máu lẫn ngoại hình nhân vật
  • Hình ảnh, artboard hoặc component hoán đổi theo trạng thái ứng dụng

Tại sao nên dùng Data Binding?

Data Binding tách dữ liệu khỏi thiết kế. Hãy nghĩ như một công thức trong bảng tính: công thức (dữ liệu của bạn) nằm ở một chỗ, còn nhiều ô (các phần tử trong cảnh) tự động cập nhật khi giá trị thay đổi — dù chúng nằm sâu đến đâu trong thiết kế.

Sau khi đã bind, bạn có thể di chuyển, đổi tên hoặc cấu trúc lại các phần tử trong hierarchy mà không cần chỉnh sửa code runtime. Binding sẽ tự lo phần kết nối.

Khái niệm cốt lõi

  1. View Models — Xác định cấu trúc mô hình dữ liệu (tập hợp các giá trị mà ứng dụng làm việc cùng — giống như danh sách các thuộc tính và kiểu dữ liệu của chúng).
  2. View Model Instances — Lưu trữ giá trị thực tế cho các thuộc tính đó.

Hãy hình dung View Model như một mẫu form trống, còn View Model Instance là bản đã điền thông tin. Một mẫu, nhiều bản — mỗi bản có giá trị riêng.

  1. Bindings — Kết nối thuộc tính View Model với thuộc tính trong cảnh (vị trí, màu sắc, văn bản...).
  2. Cập nhật dữ liệu — Dữ liệu có thể được thay đổi từ editor, code runtime, state machine hoặc scripting.
  3. Tự động cập nhật — Khi dữ liệu thay đổi, tất cả các phần tử được bind đều cập nhật ngay lập tức.

Tìm hiểu thêm