Blade 模板

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

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

下面是一段示例代码:code

<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>

就是这样简单、方便。rem

相关文章
相关标签/搜索