欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

Laravel Blade 模板引擎的 `@component` 指令 blade component 有大用

Laravel Blade 模板引擎的 `@component` 指令

参考链接:https://laravel.com/docs/5.4/blade#components-and-slots        

Laravel 5.4 为 Blade 模板引擎引入了 @component 指令,它在一定程度上代替了 @include / @includeIf 指令的作用,能更加清楚地表示要引入的是组件。

下面举例子。先定义一个 Alert 组件。

<!-- /resources/views/alert.blade.php -->

<div class="alert alert-danger">
    <div class="alert-title">{{ $title }}</div>

    {{ $slot }}
</div>
   

引入组件

@component('alert')
    @slot('title')
        Forbidden
    @endslot

    You are not allowed to access this resource!
@endcomponent
   

在组件中,$slot 是一个特殊的变量,它表示传递给组件的内容。引入组件时,除 @slot 指令之外的其余部分都被当做 $slot的值、最终插入到定义组件时 {{ $slot }} 所在的位置上。

@slot 指令用来指定组件中命名槽变量,在这里指 title——相对于组件默认支持的变量 slot 而言,它是用户自己命名的,所以被称为命名槽变量。


来自  https://m.imooc.com/article/17872?block_id=tuijian_wz

普通分类: