【发布时间】:2023-01-30 09:09:53
【问题描述】:
我了解到我可以通过两种方式在 Laravel 9 中为 Blade 创建组件:
@component('components.myComponent')
@endcomponent
并且
<x-myComponent/>
首选哪种方法?
【问题讨论】:
-
第一个是Laravel 5.5 Blade "Slots" syntax,另一个是Laravel 9。我认为除了它的写法之外没有其他区别。
我了解到我可以通过两种方式在 Laravel 9 中为 Blade 创建组件:
@component('components.myComponent')
@endcomponent
并且
<x-myComponent/>
首选哪种方法?
【问题讨论】:
Laravel 7 引入了一个彻底改造的 Blade 组件系统。从那时起,文档就没有提到@component。但是Laravel 7 release notes特别说明了以下内容:
以前用于 Blade 组件的 @component 语法没有也不会被删除。
与此一致,我可以保证
@component在 Laravel 9 中仍然可以正常工作。但是,在编写新组件时,我建议使用新式语法。对于新的 Laravel 开发人员来说,它会更有意义,并且是现在唯一记录在案的解决方案。
如果您愿意,您应该可以保留现有实例;在 DX 方面,Laravel 的 "Blade directives" 仍然很重要,所以
@component语法远非陌生;我的 blade 模板中有很多@something。
【讨论】: