laravel adminlte3 使用iframe 实现左侧菜单点击不随页面一起刷新的效果

  1. 修改菜单代码,给菜单的 >li>a 中添加target属性为mainiframe,菜单视图代码 left.blade.php 如下:


  1. 登陆成功后跳转到 /home 路由,/home路由执行控制器方法,渲染基础视图,这个视图实现基础的html渲染,视图代码如下



    
    
    
    
     adminlte | iframe 
    
    
    
    
    
    
    
    
    
    


@include('layouts.header') @include('layouts.left')
@include('layouts.footer')

说明:iframe 的 src="/index" 指当登陆成功后 redirect 到 /home 渲染出这个基础视图,基础视图中 iframe 的内容将从 /index 路由中访问获取, 相当于初始化 iframe 中 content 的内容,js 方法 changeFrameHeight() 实现iframe的高度控制,ifm.height 的高度需要自己调试减去多少合适,减的太少的话html会出现滚动条,这个时候如果 content 中返回的 html 高度也超过浏览器的高度,就会出现两个滚动条,不美观。

  1. content的内容可以自己定义一个blade模板来使用,然后view视图渲染读取这个模板,在写入自己需要的html就好了,例子如下:
    app.blade.php 模板:



    
    
    
    
     adminlte | iframe 
    
    
    
    
    
    
    
    
    
    

    @yield('links')



    @yield('content')
@yield('scripts')

/index路由 返回的视图(即/home 路由返回视图中的 iframe 内容 ):

@extends('layouts.app')

@section('links')
@stop

@section('content')
    

这个是首页的content

欢迎来到后台管理系统!

当前系统时间: {{date('Y-m-d H:i:s',time())}}

当前系统时区: {{date_default_timezone_get()}}

当前系统版本: Laravel Framework {{app()::VERSION}}

@stop @section('scripts') @stop

你可能感兴趣的:(laravel adminlte3 使用iframe 实现左侧菜单点击不随页面一起刷新的效果)