VUE+ElementUI 实现左侧菜单栏+Tab页访问本地页面和远程页面,非iFrame方式

本文介绍了如何在Vue项目中利用ElementUI组件,结合Vue Router,实现既能加载本地Vue页面又能加载远程URL的左侧菜单栏和Tab页效果,避免使用iFrame。详细阐述了实现思路,包括布局容器、导航菜单和标签页的配置,并提供了项目源码链接。
摘要由CSDN通过智能技术生成

前言:

后台管理系统经常会使用到一个左侧菜单栏,右侧Tab页的页面显示结构。
使用ElementUI中的Container 布局容器NavMenu 导航菜单Tabs 标签页配合Vue的Router路由能够方便的配置页面跳转的效果。在github上和CSDN上能够搜索到非常多的项目和实现教程。

但通常按照上述方案实现的效果只能添加本地服务上的vue页面,如果此时需要添加其他服务器上的页面,比如将“百度搜索”这个页面添加到菜单中,就显得力不从心。

很多时候,我们会第一时间想到使用iFrame框架,对页面布局进行分割和页面的跳转,但iFrame框架本身存在跨域问题和一些其他问题,现在已经不推荐此使用方式。

因此,本文在不使用iFrame内联框架的情况下,实现同时可以加载本地页面、远程页面的菜单导航效果。

一、实现效果

1.访问远程页面:
在这里插入图片描述

  • 访问本地页面
    在这里插入图片描述

二、实现方式

2.1 使用工具

  • vue :
    a. router路由管理 –>管理本地页面
    b. v-html 属性 –>负责加载远程页面
    c. keep-alive 标签 –>负责缓存页面信息
  • ElementUI:
    a. Container 布局容器 –>负责页面布局
    b. NavMenu 导航菜单 –>负责显示左侧菜单栏
    c. Tabs 标签页 –>负责主要页面的显示

2.2 实现思路

  1. 使用Container 布局容器设置好页面的布局:
    主要分为头部、主要部分(左侧菜单栏、右侧Tab页),做如下布局:
    在这里插入图片描述
    Tab页的显示做特殊处理:使用type字段来判断加载本地router页面,还是远程v-html页面
<div v-if="item.type == 'remote'" v-html="item.content" style="
  • 5
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值