Laravel Blade:语法错误,意外的“endif”T_ENDIF

问题描述

我试图以这种方式在 Laravel 刀片文件中的 HTML 标记中速记 if 语句:

<x-checkBox name="enable" id="enable" {{ ($settings->enable) ? 'checked' : '' }}>
    {{ __('Enable') }}
</x-checkBox>

但它收到此错误 Syntax error,unexpected 'endif' (T_ENDIF)。我调查了类似的问题并尝试了解决方案,但仍然遇到相同的错误。有什么建议吗?提前致谢。

编辑:复选框组件

<label class="inline-flex items-center mt-3">
    <input
        {{ $attributes->merge(['class' => 'form-checkBox h-5 w-5 rounded text-indigo-600']) }}
        name="{{ $name }}"
        id="{{ $name }}"
        type="checkBox"
        >
    <span class="ml-2 text-gray-900 text-md font-medium">{{ $slot }}</span>
</label>

解决方法

此行抛出错误

<x-checkbox name="enable" id="enable" {{ ($settings->enable) ? 'checked' : '' }}>

所以改变

  <x-checkbox name="enable" id="enable" checked="{{$settings->enable}}">
        {{ __('Enable') }}
    </x-checkbox>

然后在组件中

@props([
'checked'=>false,])
     <label class="inline-flex items-center mt-3">
            <input
                {{ $attributes->merge(['class' => 'form-checkbox h-5 w-5 rounded text-indigo-600']) }}
                name="{{ $name }}"
                id="{{ $name }}"
                type="checkbox"  {{$checked?'checked':''}}
            >
            <span class="ml-2 text-gray-900 text-md font-medium">{{ $slot }}</span>
        </label>