Thêm view bên trong một view khác trong Blade Laravel Chuyên mục PHP và Laravel 2023-07-29 1.4k Lượt xem 84 Lượt thích 0 Bình luận

Đôi khi, tất cả những gì bạn cần làm là thêm Blade view vào một another view. Chẳng hạn, khi bạn muốn thêm các tệp JavaScript và CSS dưới dạng các file Blade riêng biệt sẽ chứa nội dung liên quan tương ứng. Vì vậy, có thể bạn có một JavaScript blade file có tên view-js.blade.php bao bọc mã JS bên trong thẻ <script> và một file CSS có tên view-css.blade.php bao bọc mã CSS bên trong <style>. Và tất cả những gì bạn muốn làm là thêm chúng vào một another blade có tên là view-show.blade.php.
Đây là nơi @include directive của Blade có thể giải cứu bạn.
@include directive
@include directive cho phép bạn include một Blade view từ bên trong view khác. Vì vậy, ví dụ của chúng ta nếu chúng ta muốn đạt được kịch bản đã đề cập ở trên, chúng ta có thể làm như sau.
Chúng ta chỉ cần thêm phần sau vào view-show.blade.php,
@include('view-css')
@include('view-js')
<!-- Some more html -->
Nó là dễ dàng như vậy! Lưu ý ở đây rằng tất cả các biến có sẵn cho view gốc cũng sẽ có sẵn cho view được include .
Ngoài ra, bạn cũng có thể chuyển dữ liệu bổ sung (ở dạng mảng) cho các view này giống như sau.
@include('view-js', ['path' => '/'])
@includeIf directive
Để ngăn Laravel ném lỗi nếu không tìm thấy view Blade có liên quan, bạn có thể sử dụng @includeIf sẽ include view nếu nó thực sự tồn tại.
@includeIf('view-js')
@includeWhen directive
Khi bạn chỉ muốn thêm view Blade khi một điều kiện boolean nhất định phù hợp, bạn có thể sử dụng chỉ thị @includeWhen như này.
@includeWhen($someBooleanCondition, 'view-css')

Bình luận (0)