首页 > 解决方案 > 我将如何使用 php/blade 更改 div 类

问题描述

我是第一次使用刀片,我需要根据可用属性的数量来更改此 div 元素的样式。我需要编写一个 if 语句,如果等于或小于 1,则隐藏 div,如果等于 2,则添加不同的类。

我将如何使用刀片或 php 编写这个?

@if (isset($participatingProperties) && !empty($participatingProperties) && is_array($participatingProperties))
    <?php $i = 0; ?>
    @foreach ($participatingProperties as $key => $property)
        @if ($i++ % 3 === 0)
        <div class="item item2 {{ $i < 3 ? 'active' : '' }}">
        @endif

标签: phplaravel-blade

解决方案


我的理解是:
你有一个$participatingProperties数组和一个要打印的 div。
当它有 0 或 1 个元素时,什么都不会发生。
当它有 2 个元素时,div 以特定样式打印。
当它有 3 个或更多元素时,div 以另一种样式打印。
(没有超过 3 个元素的规则)。

我会保持简单count

@php($count = count($participatingProperties))
@if ($count > 1)
    <div
        class="{!! ($count == 2) ? 'class-2' : 'class-3-or-more' !!}"
    >
        div content
    </div>
@endif

如果您不需要每个金额都使用特定的样式,那就更简单了:

@if (count($participatingProperties) > 1)
    <div class="myclass">
        div content
    </div>
@endif

同时使用emptyandisset多余的。而且我认为你不应该检查是否$participatingProperties是一个数组,而是确保它总是在你的后端。如果您至少返回一个空数组,count则将返回0.


推荐阅读