Как я могу добавить собственный скрипт только для главной страницы макета в Laravel - PullRequest
0 голосов
/ 08 октября 2019

У меня есть панель администратора с меню боковой панели. Он действует как мастер-макет страницы. Я вставил @section в главную панель администратора для содержимого дочерней страницы и сценариев. (Я знаю структуру страниц макетов и дочерних страниц, и я использовал ее несколько раз.) Но у меня есть вопрос. Я использовал Ajax на страницах контента. Затем в разделе сценариев дочерней страницы начинается с:

$(document).ready( function () {

Проблема здесь: теперь я хочу использовать Ajax на главной странице макета, затем я должен добавить несколько пользовательских сценариев для панели администратора, которая должнаНачните с:

$(document).ready( function () {

Если я добавлю этот код на главную страницу, он будет продублирован. Что мне делать?

Ответы [ 3 ]

0 голосов
/ 08 октября 2019

Если вы хотите применить некоторые пользовательские сценарии только на странице администратора, вы можете поделиться своим сценарием с текущим видом, который вам нужен, и сделать что-то подобное в вашем контроллере администратора:

$scripts[] = '/dist/js/admin/shop.js';
view()->share('scripts', $scripts);

Чтобы включить эти пользовательскиескрипты, в вашем главном компоненте blade-сервера, проверьте, передали ли вы какие-либо скрипты. Если вы это сделали, они будут включены в ваш макет:

@if(isset($scripts))
    @foreach($scripts as $key => $value)
        <script src="{{ asset($value)}}"></script>
    @endforeach
@endif
0 голосов
/ 08 октября 2019

Тогда всем вам. На самом деле я понял значение страницы макета и страниц контента. Моя вина была в том, что я думал, что страница макета - это настоящая страница, и теперь я понял, что это просто макет, которого нет, а настоящий код и скрипт.

0 голосов
/ 08 октября 2019

На вашей странице макетов, где у вас есть макеты, вам нужно добавить @yield('scripts') ниже сценариев js, особенно ниже сценария jquery.

Затем на текущей странице добавьте это ниже всехсодержание,

@section('scripts')
<script>
  $(document).ready(function(){
     // some stuff here
  })
</script>
@endsection
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...