【问题标题】:Injecting jquery code from child and jquery include in parent [Blade - Laravel]从子级和 jquery 注入 jquery 代码包含在父级 [Blade - Laravel]
【发布时间】:2016-07-06 07:12:52
【问题描述】:

我使用 laravel 和刀片作为模板。我有一个问题,我有一个名为 (base.blade.php) 的基本模板,其中包含所有 js 文件(也包括 jQuery)。

当我是子模板(myadpack.blade.php 从 base.blade.php 扩展)时,问题就来了。我想在子级中使用 jQuery,但这似乎是不可能的,我可以进行正常的 js 调用,但不能使用 jQuery(包含在父级中)。我将这些文件粘贴在这里:

base.blade.php

<!DOCTYPE HTML>
<html>
<head>
    <title>Tonhits</title>
    <meta charset="utf-8" />

    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <link rel="stylesheet" href="{{ asset('css/font-awesome.min.css') }}" />
    <link rel="stylesheet" href="{{ asset('css/bootstrap-theme.css') }}" />
    <link rel="stylesheet" href="{{ asset('css/main.css') }}" />
    <link rel="stylesheet" href="{{ asset('css/table.css') }}" />
    <link rel="stylesheet" href="{{ asset('css/tablesaw.css') }}" />
    <link rel="stylesheet" href="{{ asset('http://cdn.datatables.net/1.10.11/css/jquery.dataTables.min.css') }}" />

    @section('css')
    @show



</head>
<body class="no-sidebar">
<div id="page-wrapper">

    <!-- Header Wrapper -->
    <div id="header-wrapper">

        <!-- Header -->
        <div id="header" class="container">

            <!-- Logo -->
            <h1><a id="logo">Tonhits</a></h1>

            <!-- Nav -->
            @include('nav/nav_anon')

        </div>

    </div>

    <!-- Main Wrapper -->
    <div id="main-wrapper">

        <!-- Main -->
        <div id="page" class="container">

            <!-- Main Heading -->
            <div class="title-heading">
                <h2>@yield('titleBig')</h2>
                <p> @yield('titleSmall')</p>
            </div>

            <!-- Main Content -->
            <div id="main">
                <div class="row">
                    <div id="content" class="12u">
                        <!-- <header>
                            <h2>Nunc fringilla dis natoque amet gravida turpis</h2>
                        </header> -->
                        @section('content')
                        @show
                    </div>
                </div>
            </div>
            <!-- Main Content -->

        </div>
        <!-- Main -->

    </div>



    <!-- Copyright -->
    <div id="copyright">
        Tonhits. All rights reserved
    </div>

</div>
<!-- Scripts -->


<script src="{{ asset('js/jquery.min.js') }}"></script>
<script src="{{ asset('js/jquery.dropotron.min.js') }}"></script>
<script src="{{ asset('js/skel.min.js') }}"></script>
<script src="{{ asset('js/util.js') }}"></script>
<script src="{{ asset('js/main.js') }}"></script>
<script src="{{ asset('js/tablesaw.js') }}"></script>
<script src="{{ asset('http://cdn.datatables.net/1.10.11/js/jquery.dataTables.min.js') }}"></script>

@yield('js')


</body>
</html>

myadpack.blade.php

@extends('base')

@section('titleBig',    'Me')
@section('titleSmall',  'My adpack overwiev')


</script>
@section('js')
<script type="text/javascript" >
        $(document).on('ready', function(){
            alert("a");
        });
        </script>
@endsection


@section('content')


    Here you can see your purchased adpacks, so you can have a detailed tracing.
    <table id="adpacks">
        <tr>
            <th>Test</th>
            <th>Test</th>
        </tr>
        <tr>
            <td>Data</td>
            <td>Data 2</td>
        </tr>

    </table>
@endsection

在父级中,我尝试了 yield、section 和任何内容。

可能是什么?

感谢您阅读我。

【问题讨论】:

  • 你有&lt;/script&gt; 没有在myadpack.blade.php 中启动&lt;script&gt;。另外,您在浏览器控制台中看到什么错误?另外,当您使用浏览器的view source 功能时,您是否看到$(document).on('ready' 部分?
  • 嘿,对不起,我复制了错误的代码。

标签: php jquery laravel blade


【解决方案1】:

base.blade.php

<!DOCTYPE HTML>
<html>

  <head>
    <title>Tonhits</title>
    <meta charset="utf-8" />

    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <link rel="stylesheet" href="{{ asset('css/font-awesome.min.css') }}" />
    <link rel="stylesheet" href="{{ asset('css/bootstrap-theme.css') }}" />
    <link rel="stylesheet" href="{{ asset('css/main.css') }}" />
    <link rel="stylesheet" href="{{ asset('css/table.css') }}" />
    <link rel="stylesheet" href="{{ asset('css/tablesaw.css') }}" />
    <link rel="stylesheet" href="http://cdn.datatables.net/1.10.11/css/jquery.dataTables.min.css" /> 
    @yield('css')
  </head>
  <body class="no-sidebar">
    <div id="page-wrapper">
      <!-- Header Wrapper -->
      <div id="header-wrapper">
        <!-- Header -->
        <div id="header" class="container">

          <!-- Logo -->
          <h1><a id="logo">Tonhits</a></h1>
          <!-- Nav -->
          @include('nav/nav_anon')
        </div>
      </div>
      <!-- Main Wrapper -->
      <div id="main-wrapper">

        <!-- Main -->
        <div id="page" class="container">

          <!-- Main Heading -->
          <div class="title-heading">
            <h2>@yield('titleBig')</h2>
            <p> @yield('titleSmall')</p>
          </div>

          <!-- Main Content -->
          <div id="main">
            <div class="row">
              <div id="content" class="12u">
                <!-- <header>
                                <h2>Nunc fringilla dis natoque amet gravida turpis</h2>
                            </header> -->
                @yield('content')
              </div>
            </div>
          </div>
          <!-- Main Content -->

        </div>
        <!-- Main -->

      </div>
      <!-- Copyright -->
      <div id="copyright">
        Tonhits. All rights reserved
      </div>

    </div>
    <!-- Scripts -->

    <script src="{{ asset('js/jquery.min.js') }}"></script>
    <script src="{{ asset('js/jquery.dropotron.min.js') }}"></script>
    <script src="{{ asset('js/skel.min.js') }}"></script>
    <script src="{{ asset('js/util.js') }}"></script>
    <script src="{{ asset('js/main.js') }}"></script>
    <script src="{{ asset('js/tablesaw.js') }}"></script>
    <script src="http://cdn.datatables.net/1.10.11/js/jquery.dataTables.min.js"></script>

    @yield('js')


  </body>

</html>

myadpack.blade.php

@extends('base') 
@section('titleBig', 'Me') 
@section('titleSmall', 'My adpack overwiev') 

@section('content') 
  Here you can see your purchased adpacks, so you can have a detailed tracing.
  <table id="adpacks">
    <tr>
      <th>Test</th>
      <th>Test</th>
    </tr>
    <tr>
      <td>Data</td>
      <td>Data 2</td>
    </tr>

  </table>
@endsection
@section('js')
  <script type="text/javascript">
    $(document).on('ready', function() {
      alert("a");
    });

  </script>
@endsection 

【讨论】:

  • 嘿,谢谢你的回答,但这不起作用,怎么了:/?
  • 哦,伙计,对不起,错误只是我在 main.js 上有一个 js 错误,刚刚删除它就可以了!感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-21
  • 1970-01-01
  • 1970-01-01
  • 2019-03-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多