猿问

在嵌套的 Laravel 7 刀片组件中分配 $attributes

从 Laravel 7 开始,我开始使用View Components。我正在尝试将$attributes变量从一个组件传递到另一个组件,例如:

x 模态分量:

<div {{ $attributes->merge(['class' => 'modal fade']) }}>
   Something great...
</div>

x-模态形式组件:

<x-modal {{ $attributes }}>
    Something great too
</x-modal>

在本例中,我在 x-modal 组件中有一个id属性,例如:

<x-modal-form id="aRandomId" title="Test"></x-modal-form>

但在这种情况下,id aRandomId不会传播到 x 模态组件。由于{{ $attributes }},我出现错误“语法错误,意外的 'endif' (T_ENDIF),期望文件结束”

你知道怎么做吗?


茅侃侃
浏览 112回答 2
2回答

慕少森

此行为已在 Laravel 8 中修复:#32576您现在可以将$attributes变量从一个组件传递到另一个组件

料青山看我应如是

根据 Laravel文档:所有不属于组件构造函数的属性都会自动添加到组件的“属性包”中。该属性包通过 $attributes 变量自动可供组件使用。所有属性都可以通过回显此变量在组件内呈现。如果在一个视图中嵌套或使用多个组件并且想要使用属性包,那么您将公共属性放入此包中并手动放置唯一属性,如下所示:<x-modal {{ $attributes }}>     <x-modal-form {{ $attributes }} id="aRandomId" title="Test">          // code here     </x-modal-form> </x-modal>当然,id 属性为 HTML 元素指定了唯一的 id。id 属性的值在 HTML 文档中必须是唯一的。
随时随地看视频慕课网APP
我要回答