Blade 模板:未处理的标签内部可以有 php 回显吗?

Blade templating: Can unprocessed tags have php echo inside?

我想遍历数组并将 $key 放入未处理的 Blade 标签中,例如

<table>
    <tbody>
        @foreach (array_keys($array) as $key)
            <tr>
                <th>
                    {{ $key }}
                </th>
                <td>

                    <!-- THIS -->
                    @{{ model.{{ $key }}  }}

                    <!-- OR THIS -->
                    @{{ model.<?= $key ?> }}

                </td>
            </tr>
        @endforeach
    </tbody>
</table>

这是为了以后与 AngularJS 一起使用。除了必须对所有这些 $key 进行硬编码之外,有什么方法可以做到这一点?

您可以创建自定义 blade 指令,我做了这个,它将满足您的目的,将其添加到您的 AppServiceProvider class

    public function boot()
    {
        Blade::directive('ng', function($var) {
            return "<?php echo \"@{{ model.\" ?><?php echo with{$var} ?> <?php echo \"}}\" ?> ";
        });
    }

现在您可以像这样在 blade 视图中使用它

@ng($key)

这将呈现为

{{ model.id }}

这样也可以,不好看

<?php echo '{{ model.' . $key . ' }}'; ?>