@stack trong Laravel blade là gì?

Xin chào. Các bạn thật tuyệt vời, tôi đã trở lại với một bài viết mới, nơi tôi sẽ thảo luận về chỉ thị @stack, @push & @prepend trong Laravel Blade templating

Sẽ có rất nhiều ý kiến ​​khác nhau về cách sử dụng các chỉ thị mẫu lưỡi cắt. Nó có thể thay đổi từ nhà phát triển sang nhà phát triển. Trong bài viết này, tôi sẽ cố gắng hết sức để giúp bạn hiểu một số kiến ​​thức của tôi về @stack, @push & @prepend

Tạo khuôn thông thường [@yield & @section]

Hầu hết thời gian khi bạn làm việc trên Laravel blade template bạn sử dụng @yield như sau

bậc thầy. lưỡi. php


    
        
        
        Laravel Blade Templating Demo
        
        @yield['stylesheets']
    
    
        @yield['content']

        @yield['javascripts']
    

Bạn sẽ mở rộng tất cả các mẫu con của mình bằng chỉ thị @section như sau

trẻ em. lưỡi. php

@extends['layouts.master']



@section['stylesheets']
    
@endsection



@section['javascripts']
    
@endsection



@section['content']
    Some random content
@endsection

Về cơ bản @yield sẽ được thay thế bằng nội dung

@extends['layouts.master']



@section['stylesheets']
    
@endsection



@section['javascripts']
    
@endsection



@section['content']
    Some random content
@endsection
1

GHI CHÚ. Bạn không thể sử dụng các chỉ thị phần giống nhau hai lần trong mẫu lưỡi kiếm của mình, tức là
@extends['layouts.master']



@section['stylesheets']
    
@endsection



@section['javascripts']
    
@endsection



@section['content']
    Some random content
@endsection
2. Nếu bạn cố gắng sử dụng thì chỉ cái đầu tiên hoạt động

Nhược điểm của mẫu trên

Hãy xem xét, nếu bạn muốn thêm bất kỳ thứ gì trước @yield hoặc sau lệnh @yield đó hoặc nếu mẫu lưỡi con của bạn có các phần mà bạn muốn thêm thứ gì đó thì đó sẽ là cơn ác mộng

Không thể thêm vào trước hoặc thêm vào lệnh gốc @yield. Có thể đạt được với chỉ thị @parent, nhưng không hoàn toàn và thậm chí một số người mới bắt đầu cảm thấy phức tạp

Tạo khuôn mẫu trước [
@extends['layouts.master']



@section['stylesheets']
    
@endsection



@section['javascripts']
    
@endsection



@section['content']
    Some random content
@endsection
3,
@extends['layouts.master']



@section['stylesheets']
    
@endsection



@section['javascripts']
    
@endsection



@section['content']
    Some random content
@endsection
4 &
@extends['layouts.master']



@section['stylesheets']
    
@endsection



@section['javascripts']
    
@endsection



@section['content']
    Some random content
@endsection
5]

Nhưng đừng lo

@extends['layouts.master']



@section['stylesheets']
    
@endsection



@section['javascripts']
    
@endsection



@section['content']
    Some random content
@endsection
6 sẽ đến giải cứu bạn

@stack - Về cơ bản, nó là một cái giỏ chứa tất cả những thứ được đẩy ra từ mẫu lưỡi dao con. Bạn có thể đẩy vào ngăn xếp nhiều lần nếu cần

Để hiển thị toàn bộ nội dung ngăn xếp, hãy chuyển tên của ngăn xếp cho chỉ thị @stack

@push - Điều này được sử dụng để nối mã vào chỉ thị @stack của mẫu gốc

@prepend - Nếu bạn muốn đặt bất cứ thứ gì trước mã @stack thì bạn sẽ sử dụng @prepend để đặt nội dung trước nó

Mẫu lưỡi dao cho phép bạn đẩy tới các ngăn xếp được đặt tên có thể được hiển thị ở một nơi khác trong chế độ xem hoặc bố cục khác

bậc thầy. lưỡi. php

________số 8_______

Bây giờ bạn có thể sử dụng cái này như sau

@extends['layouts.master']


@push['stylesheets']
    
@endpush


@push['stylesheets']
    
@endpush


@prepend['stylesheets']
    
@endprepend


@section['content']
    some content
@endsection

Nếu bạn đã quan sát cẩn thận, chúng tôi đã sử dụng


    
        
        
        Form Upload
        @stack['stylesheets']
    
    
        @yield['content']

        @stack['javascripts']
    

0 2 lần. Ồ. Vâng, nó hoạt động hoàn toàn tốt

Chỉ thị

@extends['layouts.master']



@section['stylesheets']
    
@endsection



@section['javascripts']
    
@endsection



@section['content']
    Some random content
@endsection
5 sẽ thêm nội dung của nó lên trên 2 chỉ thị

    
        
        
        Form Upload
        @stack['stylesheets']
    
    
        @yield['content']

        @stack['javascripts']
    

2 hàng đầu của nó

GHI CHÚ. Về cơ bản, bạn có thể sử dụng @stack với Javascripts rất nhiều. ví dụ. Nếu bạn muốn thêm một số thư viện từ mẫu lưỡi chính

Phần kết luận

Ya tôi biết nó ít được sử dụng nhất trong việc tạo khuôn mẫu vì nhiều người trong số họ có thể không bắt gặp. Nhưng vâng, nó hoàn toàn đáng để sử dụng trong dự án tiếp theo của bạn

Ngăn xếp trong Laravel là gì?

Laravel Vue stack cho phép bạn xây dựng ứng dụng một trang một cách hiệu quả với giao diện người dùng liền mạch .

@section trong phiến là gì?

Chỉ thị @section là chèn bố cục nội dung từ bố cục phiến mở rộng và hiển thị trong phiến con . Nội dung của các phần này sẽ được hiển thị trong bố cục bằng chỉ thị @yield. Chỉ thị @parent sẽ được thay thế bằng nội dung của bố cục khi chế độ xem được hiển thị.

Làm cách nào để thêm tập lệnh trong Laravel blade?

Đối với tập lệnh tùy chỉnh trên trang cụ thể, .
thêm @yield['footer-scripts' ] vào bố cục/ứng dụng. lưỡi. php
tạo một thư mục có tên 'scripts' trong thư mục lượt xem
inside views/scripts folder create a file ' pizza-script.blade.php ' and add the js file contents inside

Chủ Đề