Какая версия @component (из .blade) для файла ветки? - PullRequest
0 голосов
/ 29 апреля 2019

Не знаю, правильная ли это версия @ component для ветки?Это рендер ?

{{ render ('mail::message') }}
{{ render ('mail::button', ['url' => '']) }}

или, может быть, я не могу написать правильный синтаксис здесь?

1 Ответ

0 голосов
/ 06 мая 2019

Проверьте Twig's macro.

Для клинка

<!-- /resources/views/demo.blade.php -->

{{ $slot }}
<!-- component use -->

@component('demo')
    content
@endcomponent

основной синтаксис Twig будет

{# macro definition #}

{% macro demo(param) %}
    {{ param }}
{% endmacro %}
{# macro use #}

{# first import and then you can #}
{{ demo('content') }}

Вам нужно будет импортировать макрос перед вызовом, либо с помощью from или import. Чтобы импортировать (с from или import) из текущего файла, используйте _self вместо пути. См. Документы для более подробного объяснения


Ваш пример

{{ render ('mail::button', ['url' => '']) }}

похоже, что это от Blade's @include, что-то вроде

@include('mail::button, ['url' => ''])

Для этого лучше подойдет Twig's include. Отношения между macro с и include с в Twig аналогичны отношениям между component с и include s в Blade. Базовая веточка будет

{# partial.html #}

{{ url }}
{# partial use #}

{% include 'partial.html' with {url: ''} %}
...