继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

zhanbao
关注TA
已关注
手记 10
粉丝 24
获赞 286

参考链接: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 而言,它是用户自己命名的,所以被称为命名槽变量。

打开App,阅读手记
3人推荐
发表评论
随时随地看视频慕课网APP

热门评论

没看懂,那是输出什么啊

查看全部评论