树枝文件的@component(来自.blade)版本是什么?

时间:2019-04-29 09:35:54

标签: twig laravel-blade

我不知道这是否是树枝的 @component 的正确版本?是渲染吗?

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

还是我在这里无法编写正确的语法?

1 个答案:

答案 0 :(得分:0)

查看Twig的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') }}

使用fromimport调用之前,您需要导入宏。要从当前文件导入(使用fromimport),请使用_self而不是路径。请参阅文档以获取更多说明


您的示例

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

看起来像是来自Blade的@include,类似

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

为此,Twig的include可能更合适。 Twig中macroinclude之间的关系类似于Blade中componentinclude之间的关系。基本的树枝是

{# partial.html #}

{{ url }}
{# partial use #}

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