Laravel 5.3 新特性系列 —— Blade 模板新增 $loop 变量

10 篇文章 0 订阅

什么是Blade指令

Laravel的Blade模板语言提供了指令功能,这些指令其实是一些自定义标签 —— 以@开头,通常用于控制结构。如果你用Blade写过模板,就会对形如@if@foreach这些指令非常熟悉。

这些指令通常都是相应PHP代码的等价物,例如@if(condition)等价于<?php if($condition):

$loop变量

在Laravel 5.3中,@foreach指令提供了更加强大的功能,在每一个@foreach循环体中都可以调用一个新的$loop变量。该变量是一个stdClass实例,包含了当前循环的元数据信息,让我们来看一下它提供的属性:

  • index:从1开始的循环索引,1意味着是第一个条目。
  • remaining:循环还有多少个条目,比如当前是3个中的第一个,那么会返回2;
  • count:循环总条目数
  • first:是否是第一个
  • last:是否是最后一个
  • depth:循环的层级
  • parent:如果循环位于另一个@foreach中,返回父循环引用,否则返回null

下面是一段示例代码:

<ul>
    @foreach ($pages as $page)
        <li>{{ $page->title }} ({{ $loop->index }} / {{ $loop->count }})</li>
    @endforeach
</ul>

如果有嵌套循环,可以使用depth判断,并且通过$loopparent属性获取相应信息:

<ul>
    @foreach ($pages as $page)
        <li>{{ $loop->index }}: {{ $page->title }}
        @if ($page->hasChildren())
        <ul>
            @foreach ($page->children() as $child)
                <li>{{ $loop->parent->index }}.{{ $loop->index }}:
                {{ $child->title }}</li>
            @endforeach
        </ul>
        @endif
    </li>
    @endforeach
</ul>

就是这样简单、方便。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值