刀片模板:可以在未处理的标签中有php echo


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之外,有没有别的方法可以做到这一点?

你可以创建自定义刀片指令,我做了这个,它会满足你的目的,把它添加到你的AppServiceProvider类

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

现在你可以在叶片视图中使用它,像这样

@ng($key)

将显示为

{{ model.id }}

这也可以像这样做,不好看

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