Laravel中的后退按钮问题

时间:2017-06-02 08:43:03

标签: jquery 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>

主要问题是此脚本运行缓慢,后退按钮出现一段可见时间,即页面加载时。我怎么能摆脱这个?

感谢任何帮助。

3 个答案:

答案 0 :(得分: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 :(得分:1)

更好的方法是创建一个单独的布局作为backBtn.blade.php,然后将其包含在您的视图中

@include('backBtn')

答案 2 :(得分: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 }}