分享几个 Laravel 7 中很酷的 Blade 组件

表单按钮 

开发一个应用时,如果您希望重定向并且做一些其他操作时,不能使用简单的链接。GET 请求很容易受到 csrf 攻击。

相反,您应该使用其他 http 请求方式,使用表单和 CSRF 验证。 下面是一个在表单中生成按钮的 FormButton 组件。

{{-- content of formButton.blade.php --}} 
    @csrf     @method($method ?? ‘POST’)         

您可以像这样使用它:

// perform an action <x-form-button>    Do something </x-form-button> // perform an action with another HTTP verb <x-form-button>    Delete model </x-form-button>

导航栏 

几乎任何应用程序都需要显示某种导航,比如菜单和选项卡。这些导航链接是动态的,这样用户就可以知道自己在应用程序的哪个部分。

下面是可以展示链接的 navigationLink 组件。当其以当前请求的 URL 开始时,它会自动将自身设置为活动状态。

{{-- content of navigationLink.blade.php --}} 
  • url(), $href) ? ‘active’ : ”  }}”>              {{ $slot }}     
  • 这里是如何在 mailcoach.app 中使用它的。

     <nav>         <ul>             <x-navigation-item>                 <x-icon-label>subscribers()-&gt;count() ?? 0" /&gt;             </x-icon-label></x-navigation-item>             <x-navigation-item>                 <x-icon-label></x-icon-label>             </x-navigation-item>             <x-navigation-item>                 <x-icon-label></x-icon-label>             </x-navigation-item>             <x-navigation-item>                 <x-icon-label></x-icon-label>             </x-navigation-item>         </ul>     </nav>

    这就是渲染的方法。

    表单元素 

    Blade 组件会渲染出自适应的表单元素。我们来看一下 textField 组件在 Mailcoach 中的用法。

    <div>     @if($label ?? null)     <label>         {{ $label }}     </label>     @endif     @error($name)         <p>{{ $message }}</p>     @enderror     <input> </div>

    正如你所看到的一样,它渲染了标签、表单字段和可能的错误。这就是它的用法。

    <x-text-field></x-text-field>

    © 版权声明
    THE END
    喜欢就支持一下吧
    点赞11 分享