2016-08-23 69 views
0

我希望我寫得正確,因爲我記得當你有一個JavaScript中的數組選項這些被稱爲對象文字。我有一個問題,我無法找到如何在對象字面量中使用@if語句。 我有一個小網站,一切都位於welcome.blade.php模板內,所以我沒有單獨的JavaScript文件,我使用的功能只是在標籤模板的底部。因此,這裏是全功能的,我有Laravel和@if語句裏面的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> 

正如你可以看到,我需要進去innerHTML全部來自$workers的信息,這應該是作爲HTML內容輸出,但由於某些字段會在數據庫空,以便我需要@if語句寫如果這些字段不爲空,顯示一些代碼

{{{ $worker->function !== '') ? '<footer>{{ $worker->function }}</footer>' : '' }}} 

但我不能得到它如何讓if語句裏面innerHTML上的內容。

編輯:最近,我得到了它的工作是這樣的:

'{{ $worker->function ? "<footer> $worker->function </footer>" : "" }}' + 

但這只是<footer>完全渲染輸出,所以現在我有一個像

李四<footer>質量經理</footer>

回答

0

請試試這個

<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>' 
               @if($worker->function != '') 
               +'<footer>' {{ $worker->function }} +'</footer>' 
               @endif 
             +'</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> 
+0

不行,這不起作用,只要你讓新行代碼中斷,所以我們必須逃避它或在每一個新行上使用+,但無論如何,當涉及到@如果它只是跳過該部分和輸出

無論如何。 –

+0

你的意思是@if不起作用.. ?? –

+0

是的,我的意思是'@ if'不起作用,當我測試它輸出的代碼

就像'@ if'不存在一樣。 –