vue单页面多级目录实现

Vue项目的详细目录结构解析 在创建项目时,如果你选择把依赖的配置信息以独立文件形式存放,那么你的项目内,和package.json文件同级的,就还会有比如.browserslistrc, .eslintrc, babel.config.js, jest.config.js, tsconfig.json等独立配置文件。而我们现在使用的Vue.js等框架开发的项目,并不能为浏览器所识别,所以就需要编译打包这一步操作,来转换成实际生产环境(浏览器)所需的文件。这个也没什么好说的,也就是罗列一下,之后Git上传时,需要忽略的文件。 阅读详情

前言

最近接到一个需求是关于设备说明书多级目录展示。Vue 对于我这种小白来说还是有些困难。还是抱着试一试的心态去实践。还是先看看效果图吧。

效果图如下:

效果图.gif

路由配置

import Vue from 'vue'
import Router from 'vue-router'
import MedicalEquipmentCatalog from '@/components/MedicalEquipmentCatalog';
import MedicalDeviceDetailsDisplay from '@/components/MedicalDeviceDetailsDisplay';
import ElementUI from 'element-ui';

import 'element-ui/lib/theme-chalk/index.css';


Vue.use(Router);
Vue.use(ElementUI);
Vue.component("lxc-medical", MedicalEquipmentCatalog);

const ChildComponents = {
  template: '<div><lxc-medical></lxc-medical></div>'
}


export default new Router({
  routes: [
    {
      path: '/',
      name: 'MedicalEquipmentCatalog',
      component: MedicalEquipmentCatalog,
      meta: {
        title: '设备目录'
      }
    },
    {
      path: '/:id',
      component: ChildComponents,
    },
    {
      path: '/details',
      name: 'MedicalDeviceDetailsDisplay',
      component: MedicalDeviceDetailsDisplay,
      meta: {
        title: '设备详情'
      }
    }
  ]
})

这里配置了两个页面,一个是单页面的目录展示,和设备详情的展示页面。还有一个是动态路由配置。点击了解动态路由配置
这里全局注册了设备列表的组件。

跳转

 gotoNextPage() {
      console.log("gotoNextPage id = " + this.parentId);
      this.$router.push({
        name: "MedicalDeviceDetailsDisplay",
        params: {
          id: this.parentId
        }
      });
    },
    gotoThisPage() {
      this.$router.push({
        path: "/" + this.parentId,
        params: {
          id: this.parentId,
          name: this.title_name
        }
      });
    }

一个是实现跳转当前页面的方法,和跳转到设备详情的页面。这里传入的是当前设备的id 以及设备的名字。

获取参数

 getParams() {
      console.log("getParams()调用");
      // 取到路由带过来的参数 this.$route.params
      var routerParams = this.$route.params.id;
      var routerParams_title_name = this.$route.params.name;
      console.log(
        "routerParams = " + routerParams 
        +" routerParams_title_name = " + routerParams_title_name
      );
      // 将数据放在当前组件的数据内
      this.parentId = routerParams;
      this.title_name = routerParams_title_name;
    }
  created() {
    this.getParams();
    this.requestData();
  }

通过页面created的回调去获取参数。刷新单页面的数据。我自己在测试的时候发现一级目录点击跳转二级目录的时候是好的。但是二级目录去点击跳转三级目录的时候发现路由是有更新的,但是并没有触发created回调。同一个组件并未渲染。所以我想监听url 的路由变化去自己实现数据的刷新。

watch监听

  watch: {
    $route(to, from) {
      console.log("watch path = " + to.path);
      this.changeValue(to.path);
      this.requestData();
    }
  },

打印.png
通过打印发现其实路径还需要截取处理才能获取到设备的id去重新刷新页面

截取

changeValue(str) {
      this.parentId = str.replace("/", "");
      console.log("changeValue parentId = " + this.parentId);
       if (this.title_name) {
        document.title = this.title_name;
      }
    }

做的比较简单,大致上就这些内容。主要为了记录自己的实践过程。

若依 多级目录 一.因为我是在系统管理页面里面加二级目录,所以,我在views/system下加一个log目录,即views/system/log/index.vue。经过查找发现是,如果是多级目录,需要在二级目录的跟文件下添加一个2.在将菜单改选成目录(其实先把菜单里面的组件路径填上即可,然后再切换成目录)1.首先,先将二级目录选成从菜单,将路由地址、组件路径填好,填成二级目录。在index.vue里面写入。二.修改菜单里面的配置。以上两部即可解决问题。 阅读详情

相关推荐

在 Vue3 + Element Plus 中生成动态表格,动态修改表格,多级表头,合并单元格

在 Vue 中,表格组件是使用频率及复杂度排名第一的组件,前端经常需要根据后台返回的数据动态渲染表格,比如动态表格如何生成,因为表格的列并不是固定的,在未知表格具体有哪些列的场景下,前端如何动态渲染表格数据。又或者需要把表格单元格进行合并处理,比如第一列是日期,需要把相同的日期进行合并,这样表格看起来会更加清晰。 本文手把手教你如何在 Vue3 + Element Plus 中创建表格、生成动态表格、创建动态多级表头、表格行合并、列合并等问题。如果你正在搭建后台管理工具,又不想处理前端问题,推荐使用卡拉云

蒋川@卡拉云 1万+

vue目录详解以及文件说明

在工程中,并不是所有文件都需要保存到版本库中的,例如“target”目录及目录下的文件就可以忽略。在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件或目录。记录当前项目所依赖模块的版本信息,更新模块时锁定模块的大版本号(版本号的第一位),不能锁定后面的小版本,vue-cli的配置文件 (vue-cli4默认没有这个文件,可以自己新建)入口文件,也就是打包或者说运行的时候,所运行的第一个文件。放置系统的静态文件,比如,图片,全局配置文件。

Lzxzxzx_的博客 1543

Vue-router 路由详解 多级路由

今天我来分享一下vue路由方面的心得体会。 文章源码位置https://github.com/JustDoIt521/originCoding/tree/master/vue-router-base 使用的脚手架为Vue3.0,IDE为VSCode 首先引入vue路由 cnpm install vue-router --save-dev 然后我们在src目录下建立文件夹router,并...

群峰之巅的博客 1万+

在Vue界面中引入其他界面

那么我们只需要在homeView.vue想要的地方添加<Aside></Aside>但是我在idea里面写的只要写了<Aside></Aside>其他的就自动补全好了。比如我们需要在文件homeView.vue中引用界面文件Aside.Vue。<script>里面添加import 将Aside引入过来。components: {Aside},要有这句话。就好啦 但是其实还有两个地方要注意。

qq_54657526的博客 2482

若依多级目录实现与常见问题解析

本文深入解析若依框架中实现多级目录的核心方法,并针对常见的页面闪退问题提供根治方案。关键在于确保父级路由组件正确包含<router-view>标签,并遵循“先菜单,后目录”的后台配置顺序。文章还详细介绍了三级目录的扩展实现、动态路由权限集成以及排查“模块找不到”等错误的实用技巧,帮助开发者高效构建稳定的后台管理系统导航结构。

weixin_29011993的博客 363

Vue前端开发-多级路由配置

在Vue 路由数组中,允许配置多级的路由对象结构,可以是二级、三级或者更多级别,最大级别原则上没有限制,但通常最大的是三或四级,这种路由结构,称之为多级路由。

1223

Vue + webpack 项目 import 路径 和 路径别名

在vue项目中,我们常遇到以下路径引用的方式: 在vue项目中,我们常遇到以下路径引用的方式: import './plugins/element.js' import '../router'; import '@/scss/common/var'; import 'common/flexible.js' ./ 表示当前目录下../ 表示父级目录下@/ 是webpack设置的路径别名,代表什么路径,要看 webpack 的 ...

weixin_42754922的博客 5010

vue单个组件实现无限层级多选菜单功能

主要介绍了vue单个组件实现无限层级多选菜单的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下

基于Vue+elementUI menu组件的动态渲染多级目录

后端接口是,通过父级目录id查询子级目录列表,所以我需要动态渲染一个多级目录,目录深度不确定。我使用了elementUi的menu组件,因为项目是基于Vue2 的所有 是用的。其实可以不使用这样的方式存储menu的路径,elementUI官方提供相应的方法。方式是因为menu组件抽风了,就是没有存储到路径。函数,我把目录的路径存储在menu的index属性里面。第一层第一个-->第二层的第三个-->第三层的第三个。下图是作者的实际项目的代码,仅供参考。父组件script部分,仅供参考。

qq_41720628的博客 1354

从零完成 STM32 + ESP-01S + 云服务器 TCP 通信测试

STM32 通过 USART3 控制 ESP-01S 接入手机 2.4 GHz 热点,随后连接公网云服务器 8.152.204.86:9002。云端在同一 TCP 连接中连续收到 seq=1~6 的测试报文,5 个发送间隔平均约 5.4 秒,说明本次 TCP 上行链路已经打通。

weixin_51387720的博客 312

以ATT&CK为例构建网络安全知识图

随着攻击工具、方法的逐渐升级和复杂化,安全数据的大规模融合,攻防对抗愈加激烈。安全团队如何在浩瀚数据中有效发现高级威胁的蛛丝马迹,如何把网络安全专家的经验、知识有效转化为可复制可扩展的数据分析能力,如何将对抗高级威胁的“炼金术”逐步升级为科学淘金指南,如何将安全从业者从繁重的体力劳动中解放出来,愈发成为安全能力亟需突破的难点和重点,也是我们正在探索的方向。正如医疗行业中治疗疑难杂症依赖医疗专家,网络空间高级威胁的防护和处置也依赖安全专家的经验与知识。

2401_88752684的博客 1091

Spring Boot + Vue 多级目录的构建详解

在现代 Web 开发中,前后端分离已成为一种标准实践。Spring Boot 提供了强大的后端开发能力,尤其在构建企业级应用时,其轻量级、高效性和丰富的生态系统让开发者如虎添翼。而 Vue.js 则以其简单易学的语法和灵活的组件系统,成为前端开发的热门选择。结合这两个技术栈,我们可以轻松实现复杂的业务逻辑与优秀的用户体验。一个成功的多级目录系统的实现不仅依赖于技术上的解决方案,还需要在系统设计、性能优化和用户体验之间取得平衡。希望本文的内容能为你在项目开发中提供一些有益的参考和启示。

繁依Fanyi的博客 960

多时间尺度源储荷微电网协调调度+日前日内实时+需求响应——附代码

为提高区域电网新能源消纳率,使电力系统运行成本最小,提高电力系统供电可靠性。提出考虑特性分布的储能电站接入的电网多时间尺度“源–储–荷”协调调度策略。综合储能电站、负荷侧各类需求响应资源的多时间尺度特性制定日前调度计划,并通过日内滚动与实时修正实现对预测数据更高精度的保证。以系统运行成本、弃风惩罚成本、失负荷惩罚成本为目标函数,建立多时间尺度调度模型。最后通过 MATLAB 平台调用商用软件包 CPLEX 完成混合整数规划优化,结果表明该调度策略可以达到系统运行成本最优,降低弃风率的效果。

不定时分享电力优化、神经网络、数学建模等技术等 6386

RuoYi-Vue菜单添加多级目录

配置多级目录需要先在代码放开组件路径标签(操作完后记得还原) 将红框代码先删除,我们需要给目录配置组件路径。form.menuType == 'C'是判断菜单。 路由地址first为例 确定后刷新可以看见新增的目录 在一级目录下再添加一个目录 在二级目录下添加菜单 手动在二级目录的根文件下添加一个<router-view> 刷新页面,效果完成 再添加一个 参考系统管理中的日志管理 参考资料 ...

江黎 5435

Atlas 300I Pro推理卡性能深度测试:对比业界同类产品的能效比与算力表现

本文对昇腾Atlas 300I Pro推理卡进行了深度性能评测,重点对比了其与业界同类产品的能效比与算力表现。实测数据显示,该卡在运行BERT等模型时展现出高达39.6句子/秒/瓦的卓越能效比,电力成本可降低40%以上,同时其达芬奇架构和硬件加速特征检索能力,为高密度在线推理和向量检索场景提供了强大支撑。

weixin_29031161的博客 579

PLC编程入门基础知识

PLC即为可编程逻辑控制器,实质是一种专用于工业控制的计算机,其硬件结构基本上与微型计算机相同。

SANRENYIXING的博客 2万+

多级留言/评论的功能实现——Vue3前端篇

使用vue3对多级留言的功能前端实现

道阻且长 心态要好 6484

9.9华为OD机试真题 新系统 - 受限任务分配 (Java/Py/C/C++/Js/Go)

华为OD机试真题 新系统【受限任务分配】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题 【受限任务分配】多语言题解。

qq_45776114的博客 731

Web前端 ---- 【Vue】Vue路由传参(query和params)

路由的使用以及query传参和params传参

weixin_68854196的博客 3619

手把手教你学Simulink--复杂环境适应的四足机器人领域仿真建模实例:构建一个基于Simulink的四足机器人动态平衡保持仿真模型

通过上述步骤,你可以构建一个基本的基于Simulink的四足机器人动态平衡保持仿真模型。此模型不仅有助于理解四足机器人在复杂环境中的动态平衡控制原理,也为进一步优化提供了基础。随着技术的发展,还可以探索更多高级功能,如自适应步态调整、强化学习等,以提高机器人的智能性和适应性。

MHD0815的博客 236

扩散模型中的UNET

一、为什么UNET模型可以用于去噪网络 二、扩散模型中的UNET是一个条件去噪网络,怎么实现的 三、UNET用于分割和用去去噪的区别

m0_37737957的博客 3817

【Vue】六:路由(上)使用路由 多级路由

new Vue 时添加新的配置项:一旦使用了 vue-router 插件,在 new Vue 的时候可以添加一个全新的配置项:router。(4)router 路由器的创建一般放在一个独立的 js 文件中,例如:router/index.js。(6)使用 router-link 标签代替 a 标签(App.vue 中)注意:一般普通组件存放在components中,路由组件存放在pages中。(2)main.js 中引入并使用 vue-router。(1)安装vue-router插件。

北极星的博客 1637

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

vue之vue-router,路由、多级路由、路由传参【SPA实现】

一、vue-router插件的安装 在工程目录下的终端执行以下命令 npm i vue-router 二、vue-router的基本使用【单级路由】 1、index.js路由配置文件 在src文件夹下新建router文件夹,并创建inedx.js文件 注意:我这里导入的两个路由组件我将它们放置了pages文件夹下。作用:将路由组件与一般组件区分 // 用于创建整个应用的路由器 import VueRouter from "vue-router"; // 引入组件(一级路由) import Ab

weixin_42390185的博客 2124

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

< elementUi 中 封装 NavMenu 导航菜单,实现单页面侧边导航栏 >

在 Vue + elementUi 开发中,在大部分后台管理系统都会选择实现 “ 单页面 ” 应用,简称:`SPA`。但是实现单页面应用,页面布局显然很重要,在开发中,有时候需要,自己编写一个 单页面导航栏。本篇文章将简单展示! 案例仅供参考! ...

一个平平无奇的技术宅 7899

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Vue 实现树形菜单(多级菜单)功能模块

##前言 之前博客里分享过一篇用《Angular 实现树形菜单(多级菜单)功能模块》,而在由于战略转移,所以我给 Vue 也来了一份。功能差不多,不过由于这个是第二次做,会对之前的一些不足作一个修正。下面来看看 Vue 树形菜单。 在做这个 DEMO 的时候我是用了vue 的脚手架(vue-cli)的,关于脚手架可以看这里《Vue 脚手架(vue-cli)安装及详解》,上面的两篇文章到时也会发到掘...

weixin_34308389的博客 6193
上一篇: Failed to install VS Code update.
下一篇: oppo手机run的apk 无法正常启动 Caused by: java.lang.ClassNotFoundException DexPathList[ */base.apk]
Zz_糖小七
博客等级 码龄10年 1732粉丝 42原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值