Quay lại

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    comment-3 Created with Sketch Beta. 0 Bình luận

Thêm view bên trong một view khác trong Blade Laravel

Đô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)

Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough

Bài viết liên quan

Learning English Everyday