3. Truyền dữ liệu cho component (Passing data to component) (ok)
Last updated
Last updated
Đôi khi với một $slot
thì bị hạn chế cho việc tùy chỉnh nội dung một component, chính vì thế Laravel cho phép truyền slot khác ngoài $slot
mặc định để ứng dụng của bạn linh hoạt hơn.
Sử dụng @slot
với tham số là tên biến nhận dữ liệu trong blade view component để khai báo một giá trị khác mà component có thể nhận.
Tại component modal
, bạn chỉnh sửa nội dung như sau:
Laravel sẽ hiểu phần nội dung bạn khai báo ở @slot
sẽ truyền vào $title
, còn phần chỉ nằm trong cặp thẻ @component
thì sẽ truyền vào $slot
mặc định. Mình xin tản mạn một chút, cú pháp {{ $varible }}
là dùng để hiển thị dữ liệu của biến.
Và đây là kết quả sau khi tải lại trang:
Ngoài ra bạn có thể thay thế cách truyền dữ liệu cho component trên bằng cách:
Tham số thứ hai trong ()
sẽ nhận một mảng chứa dữ liệu và lấy tên key làm tên biến trong component. Với cách này thông thường dùng để truyền các dữ liệu ngắn, không chứa thẻ HTML.
Từ khóa:@slot('title') dùng truyền dữ liệu một cách linh hoạt sang component
Ví dụ:
resources\views\child.blade.php
resources\views\components\modal.blade.php