3

Laravel 7 で、View Componentsを使い始めました。$attributes次のように、あるコンポーネントから別のコンポーネントに変数を渡そうとしています:

xモーダル コンポーネント:

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

x-modal-form コンポーネント:

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

この場合、次のような x-modal コンポーネントにidプロパティがあります。

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

ただし、この場合、id aRandomIdは x-modal コンポーネントに分散されません。{{ $attributes }}が原因で、 「構文エラー、予期しない 'endif' (T_ENDIF)、ファイルの終わりが必要です」というエラーが発生しました

その方法を知っていますか?

4

2 に答える 2

-1

laravelドキュメントに従って:

コンポーネントのコンストラクターの一部ではない属性はすべて、コンポーネントの「属性バッグ」に自動的に追加されます。この属性バッグは、$attributes 変数を介してコンポーネントで自動的に使用できるようになります。この変数をエコーすることにより、すべての属性をコンポーネント内でレンダリングできます。

ネストされている場合、または 1 つのビューで複数のコンポーネントを使用していて、属性バッグを使用したい場合は、このバッグに共通の属性を入れ、次のように手動で一意の属性を入れます。

<x-modal {{ $attributes }}>
    <x-modal-form {{ $attributes }} id="aRandomId" title="Test">
     // code here
    </x-modal-form>
</x-modal>

もちろん、id 属性は HTML 要素の一意の ID を指定します。id 属性の値は、HTML ドキュメント内で一意である必要があります。

于 2020-07-17T21:43:27.657 に答える