【发布时间】:2016-08-23 05:45:27
【问题描述】:
我希望我写得正确,因为我记得当你在 javascript 中有一个数组选项时,这些选项被称为对象文字。我有一个问题,我找不到如何在对象文字中使用 @if 语句。 我有一个小站点,所有内容都位于welcome.blade.php 模板中,因此我没有单独的javascript 文件,我使用的函数位于标签内模板的底部。所以这是我拥有的全部功能
<script>
var employees = [
@foreach ($workers->chunk(20) as $chunk)
[
@foreach ($chunk as $worker)
{
innerHTML:'<div class="container-fluid full-height"><div class="row full-height"><div class="col-xs-3 col-sm-3 col-md-3 col-lg-3 full-height"><div class="person-info"><blockquote><h1>{{ $worker->first_name }} {{ $worker->last_name }}</h1>{{{ $worker->function !== '') ? <footer>{{ $worker->function }}</footer> : '' }}}</blockquote></div></div><div class="col-xs-5 col-sm-5 col-md-5 col-lg-5 col-lg-offset-1 col-md-offset-1 col-sm-offset-1 full-height"><div class="person-photo"><img class="img-responsive" src="thumbs/{{ $worker->image }}" /></div></div></div></div>',
src:"thumbs/{{ $worker->thumbnail }}"
},
@endforeach
],
@endforeach
]
</script>
如您所见,我需要从$workers 中的innerHTML 获取所有信息,并且应该将其输出为 html 内容,但由于数据库中的某些字段为空,因此我需要编写 @if 语句如果这些字段不为空以显示一些代码
{{{ $worker->function !== '') ? '<footer>{{ $worker->function }}</footer>' : '' }}}
但我不知道如何让 innerHTML 内容中的 if 语句正常工作。
编辑:我最接近它的工作是这样的:
'{{ $worker->function ? "<footer> $worker->function </footer>" : "" }}' +
但这只是用<footer> 完全渲染输出所以现在我喜欢
John Doe <footer> 质量经理 </footer>
【问题讨论】:
标签: javascript php jquery laravel-5.2 object-literal