2017-06-02 78 views
0

除了少數視圖外,我想在大多數視圖中使用後退按鈕。我做了這樣的按鈕:Laravel中的後退按鈕問題

<div class="row back"> 
    <div class="col-sm-12"> 
     <div class="col-sm-3 pull-right"> 
      <button class="btn btn-primary pull-right" onclick="goBack()"><span><i class="fa fa-chevron-left"></i> Back</span></button> 
     </div> 
    </div> 
</div> 

而且,這裏是腳本。

<script> 
    function goBack() { 
     window.history.back(); 
    } 
</script> 

的一種方法是將這些每一個看法,但我有超過100個瀏覽等等,這是乏味的這些添加到每個頁面,如果我需要一些變化以後這將是困難的。

我已經添加了這些掌握刀片並嘗試使用腳本的每一頁,我並不需要類似下面的按鈕刪除HTML內容:

<script type="text/javascript"> 
    jQuery(document).ready(function ($) { 
     $('.back').css('display','none'); 
    }); 
</script> 

主要問題是這樣的腳本工程進展緩慢和後退按鈕出現一些可見的時間,即頁面加載時。我怎麼能擺脫這個?

任何幫助表示讚賞。

+1

您將樣式添加到'css'中。添加文檔準備好這將等待DOM準備就緒意味着按鈕在那裏它將隱藏 – guradio

+0

$('。back')。remove()'在那裏有相同的效果 –

+0

嘗試將腳本放在''部分。 – linuxartisan

回答

1

由於您要採用將後退按鈕添加到每個視圖然後在某些視圖中禁用它的方法。你可以這樣做。

@if (!isset($disableBackButton)) 
    <div class="row back"> 
     <div class="col-sm-12"> 
      <div class="col-sm-3 pull-right"> 
       <button class="btn btn-primary pull-right" onclick="goBack()"><span><i class="fa fa-chevron-left"></i> Back</span></button> 
      </div> 
     </div> 
    </div> 
@endif 

然後將此添加到您不希望顯示後退按鈕的視圖中。

{{ $disableBackButton = true }} 
+0

謝謝,它的工作原理 –

+0

我認爲'{{$ disableBackButton = true}}'刀片語法中禁用了賦值? –

+1

@ThomasMoors它分配和回聲真實,我們忽視。但它的工作。 – Sandeesh

1

如何將其添加到您的master.blade.php文件(或在您的所有視圖中使用的文件)。然後您設置您的控制器,以便它告訴您是否需要按鈕。這將是這樣的:

class pageController extends Controller{ 

    public function index(){ 
     return view()->make('pages.index')->with(['hideBackButton' => true]); 
    } 

} 

和刀片,你可以這樣做:

@unless(isset($hideBackButton)) 

     <div class="row back"> 
      <div class="col-sm-12"> 
       <div class="col-sm-3 pull-right"> 
        <button class="btn btn-primary pull-right" onclick="goBack()"><span><i class="fa fa-chevron-left"></i> Back</span></button> 
       </div> 
      </div> 
     </div> 

@endunless 
1

更好的方法是創建一個單獨的佈局backBtn.blade.php,然後將其包含在您的觀點爲

@include('backBtn')