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 . ' }}'; ?>
我想遍历数组并将 $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 . ' }}'; ?>