в любом случае, чтобы удалить ненужные CSS в Laravel, используя лезвие - PullRequest
0 голосов
/ 15 мая 2019

У меня есть страница с 4 лезвиями

=> layout.blade.php
=> index.blade.php
=> contact.blade.php

В layout.blade.php У меня есть два выхода

Один Is:

@yield('css') // to add additional css

Еще один:

@yield('script') //to add additional script

index.blade.php extends layout.blade.php

, чтобы я мог добавить section('css') и section('script') для дополнительного CSS или сценария только для индекса.blade.php page

Теперь проблема заключается в следующем: в layout.balde.php есть все общие ссылки и сценарии, но я неЯ хочу, чтобы эти ссылки были на каждой странице.я хочу какой-то способ;не загружать определенную ссылку или какую-либо ссылку на какую-либо страницу, которая расширяет layout.blade.php .

Пример:

=> layout.blade.php
    -> <link href="one.css">
    -> <link href="two.css">
=> index.blade.php extends layout.blade.php
    -> <link href="one.css"> // because index extends layout
    -> <link href="two.css"> // because index extends layout
=> contact.blade.php extends layout.blade.php
    -> <link href="one.css"> // because index extends layout (i don't want to load this link)
    -> <link href="two.css"> // because index extends layout

Примечание

Мне НУЖЕН ДИНАМИЧЕСКИЙ СПОСОБ СКАЗАТЬ ОТ contact.blade.php , ЧТОБЫ ОТКЛЮЧИТЬ ЭТУ ССЫЛКУ ИЛИ НЕКОТОРЫЕ ССЫЛКИ, КОТОРЫЕ ОТ layout.blade.php

1 Ответ

0 голосов
/ 15 мая 2019

@yield использовать только один раз из @section

Так что используйте @push @stack в вашем основном layout и много @push в нескольких просмотрах

В вашемlayout.blade.php добавить @stack('scripts')

И в index.blade.php добавить

@push('scripts')
    <script src="/index.js"></script>
@endpush

И в contact.blade.php добавить

@push('scripts')
    <script src="/contact.js"></script>
@endpush

Вы можете нажать несколько CSS или JSили содержимое с @push и @stacks

См. https://laravel.com/docs/5.8/blade#stacks

Если вы хотите отключить некоторые CSS или JS на конкретной странице, вы можете проверить, является ли страница контактной

В web.php добавить имя маршрута к contact page

Добавить это к layout.app.php

@if(request()->route()->getName() != "contact")
  Load your css here as page not contact
@endif

Так что, если вы откроете страницу контактов, CSS не будет загружен как имя маршрута contact

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...