@yield与@include Laravel Blade Templating导入CSS之间的区别

时间:2015-04-03 10:49:27

标签: css laravel blade

刀片中这两个关键字的主要区别是什么,我发现它们做同样的事情,但是...语法不同,但主要区别是什么? 我正在使用@yield和@include,但没弄明白,哪个更好用?

我想扩展我的CSS样式,我想在需要时加载css样式,例如我想将样式和选项分离到navbar并将css样式分隔到我在navbar.css,footer.css中定义的页脚,我想要包含在我的main.blade.php中,但页脚不是总是可见的?

如何解决这个问题?我认为错了,将所有css放到一个文件中会更好吗? 性能怎么样?

    <!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="expires" content="-1" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
    <title> Authentication system</title>
    {{--custom css--}}
    @yield('css')
    {{HTML::style('css/bootstrap.min.css')}}
    <!-- Custom styles for this template -->
    {{HTML::style('css/navbar.css')}}
</head>
<body>
@if(Session::has('global'))
    <p>{{Session::get('global')}}</p>
@endif
@include('layout.navigation')
@yield('content')
@yield('layout.footer')

和页脚

@extends('layout.main')
@section('css')
    @parent
    {{HTML::style('css/footer.css')}}
@endsection
@section('footer')
    <footer class="footer">
        <div class="container">
            <div class="row">
                <div class="col-md-4">

                </div>
                <div class="col-md-4"></div>
                <div class="col-md-4"></div>
                <
            </div>
        </div>
    </footer>
@endsection

我的代码不起作用。

1 个答案:

答案 0 :(得分:0)

而不是

@yield('layout.footer')

@include('layout.footer')

这可以解决您的问题。