电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

通過(guò)vue刷新左側(cè)菜單欄操作

瀏覽:155日期:2022-12-15 10:08:16

今天完成了手頭任務(wù)就想著做點(diǎn)什么,剛好領(lǐng)導(dǎo)讓我看看項(xiàng)目左側(cè)菜單欄不刷新的問(wèn)題,我也是剛剛接觸vue,很多東西都還不是很熟練,這也是我的第一篇自己寫的博客,感覺還是很興奮的,我覺得寫博客這個(gè)習(xí)慣要一直養(yǎng)成,不但總結(jié)了自己一天的工作所得,而且也是對(duì)自己的一種良好習(xí)慣的養(yǎng)成。

下面進(jìn)入正題。

這個(gè)是我們html里面的超鏈接,而我們的點(diǎn)擊事件的跳轉(zhuǎn)就是通過(guò)這個(gè)超鏈接實(shí)現(xiàn)的。

<el-menu-item index='3-1'><a href='http://www.hdgsjgj.cn/bcjs/11103.html#/commodity-list' rel='external nofollow' >

然后我們要?jiǎng)?chuàng)建一個(gè)js文件,將我們要跳轉(zhuǎn)的路徑導(dǎo)入

import ChannelList from ’./src/commodity-manage/channel-list/channel-list’

配置路由管理:

const router = new VueRouter({ routes: [ { path: ’/commodity-list’, name: ’commodity-list’, component: commodityStorage, children: [] }]

path:就是我們要跳轉(zhuǎn)的路徑

name:跳轉(zhuǎn)文件的名字

component:配置了映射的組件

在html文件中配置了<router-view/>

<router-view :key='key'></router-view>

是用來(lái)渲染通過(guò)路由映射過(guò)來(lái)的組件,當(dāng)路徑更改時(shí),<router-view> 中的內(nèi)容也會(huì)發(fā)生更改

在js文件中使用computed來(lái)進(jìn)行監(jiān)聽

//每次讓路由生成不同的值,用于重新加載組件,達(dá)到刷新數(shù)據(jù)的效果 computed: { key() { return this.$route.name !== undefined? this.$route.name +new Date(): this.$route +new Date() } },

補(bǔ)充知識(shí):vue:路由菜單(element 和 antd)

在 vue 中 使用 UI框架中的菜單,給菜單如何添加路由呢?其中會(huì)出現(xiàn)路由樣式的問(wèn)題。請(qǐng)看下面兩種UI方法。

注)使用框架的時(shí)候注入知道的吧。。。。。防止有些人xxxx,我還是寫一下。

通過(guò)vue刷新左側(cè)菜單欄操作

場(chǎng)景:使用 elementUI 的 NavMenu 時(shí)。

這里請(qǐng)注意:可以不使用 router-link,在 e-menu 上面綁定 route 或者 :route = ’true’ ,然后遍歷的時(shí)候 :index=‘route.path’ (:index=‘路徑’)。

通過(guò)vue刷新左側(cè)菜單欄操作

代碼

<template> <div class='menu'> <el-menu default-active=’activePath’ router @open=’handleOpen’ @close=’handleClose’ background-color=’#545c64’ text-color=’#fff’ active-text-color=’#ffd04b’ > <template v-for='(route,index) in routes'><!-- 一級(jí)菜單 --><el-menu-item :key=’index’ v-if=’route.children && route.children.length== 1’ :index=’route.path’> <i :class='’el-icon-’ + route.meta.icon'></i> <span>{{route.meta.title}}</span></el-menu-item> <!-- 二級(jí)菜單 --><el-submenu v-if=’route.children && route.children.length > 1’ :key=’index’ :index=’route.path’> <template slot=’title’> <i :class='’el-icon-’ + route.meta.icon'></i> {{route.meta.title}} </template> <el-menu-item-group v-for=’(item, index) in route.children’> <el-menu-item :key=’index’ :index=’resolve(route.path, item.path)’> <i :class='’el-icon-’ + item.meta.icon'></i> {{item.meta.title}} </el-menu-item> </el-menu-item-group></el-submenu> </template> </el-menu> </div></template> <script> export default { name: ’Menu’, data() { return { activePath: this.$router.path, } }, computed: { // 計(jì)算屬性:獲取路由 routes() { console.log(’test’, this.$router) console.log(’ddd’, this.$router.options.routes) return this.$router.options.routes }, }, methods: { resolve(p,i){ return `${p}/${i}` }, handleOpen(key, keyPath) { console.log(key, keyPath); }, handleClose(key, keyPath) { console.log(key, keyPath); } },}</script> <style lang=’less’> .el-menu { text-align: left; }</style>

場(chǎng)景:使用 antd 的 Menu 時(shí)。

這個(gè)里面是需要使用route-link做路由跳轉(zhuǎn)的。

通過(guò)vue刷新左側(cè)菜單欄操作

代碼

<template> <div class='menu'> <a-menu v-model='current' mode='inline' theme='dark'> <template v-for=’route in routes’> <!-- 一級(jí)菜單 --> <a-menu-item v-if=’route.children && route.children.length == 1’ :key=’route.path’><router-link :to=’route.path’> <a-icon :type=’route.meta.icon’ /> {{ route.meta.title }}</router-link> </a-menu-item><!-- 二級(jí)菜單 --> <a-sub-menu v-else=’route.children && route.children.length == 2’ key='sub1'><span slot='title'><span><a-icon :type=’route.meta.icon’ />{{ route.meta.title}}</span></span><a-menu-item v-for=’item in route.children’ :key=’item.path’> <router-link :to=’resolve(route.path,item.path)’> <!-- <router-link :to='`${route.path}/${item.path}`'> --> <a-icon :type=’item.meta.icon’ /> {{ item.meta.title }} </router-link></a-menu-item> </a-sub-menu> </template> </a-menu> </div></template> <script> export default { name: ’Menu’, data() { return { current: [’/’], } }, computed: { // 計(jì)算屬性:獲取路由 routes() { console.log(’test’, this.$router) console.log(’ddd’, this.$router.options.routes) return this.$router.options.routes }, }, methods:{ resolve(p,i){ return `${p}/${i}` }, },}</script>

以上這篇通過(guò)vue刷新左側(cè)菜單欄操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Vue
相關(guān)文章:
主站蜘蛛池模板: 塑钢件_塑钢门窗配件_塑钢配件厂家-文安县启泰金属制品有限公司 深圳南财多媒体有限公司介绍 | 游泳池设备安装工程_恒温泳池设备_儿童游泳池设备厂家_游泳池水处理设备-东莞市君达泳池设备有限公司 | 切铝机-数控切割机-型材切割机-铝型材切割机-【昆山邓氏精密机械有限公司】 | 专业深孔加工_东莞深孔钻加工_东莞深孔钻_东莞深孔加工_模具深孔钻加工厂-东莞市超耀实业有限公司 | 橡胶接头_橡胶软接头_套管伸缩器_管道伸缩器厂家-巩义市远大供水材料有限公司 | DWS物流设备_扫码称重量方一体机_快递包裹分拣机_广东高臻智能装备有限公司 | 合肥卓创建筑装饰,专业办公室装饰、商业空间装修与设计。 | 半自动预灌装机,卡式瓶灌装机,注射器灌装机,给药器灌装机,大输液灌装机,西林瓶灌装机-长沙一星制药机械有限公司 | 恒温振荡混匀器-微孔板振荡器厂家-多管涡旋混匀器厂家-合肥艾本森(www.17world.net) | 私人别墅家庭影院系统_家庭影院音响_家庭影院装修设计公司-邦牛影音 | 济南货架定做_仓储货架生产厂_重型货架厂_仓库货架批发_济南启力仓储设备有限公司 | 大型多片锯,圆木多片锯,方木多片锯,板材多片锯-祥富机械有限公司 | 滚塑PE壳体-PE塑料浮球-警示PE浮筒-宁波君益塑业有限公司 | CTP磁天平|小电容测量仪|阴阳极极化_双液系沸点测定仪|dsj电渗实验装置-南京桑力电子设备厂 | 圣才学习网-考研考证学习平台,提供万种考研考证电子书、题库、视频课程等考试资料 | 检验科改造施工_DSA手术室净化_导管室装修_成都特殊科室建设厂家_医疗净化工程公司_四川华锐 | 校园气象站_超声波气象站_农业气象站_雨量监测站_风途科技 | 亚克力制品定制,上海嘉定有机玻璃加工制作生产厂家—官网 | 紫外荧光硫分析仪-硫含量分析仪-红外光度测定仪-泰州美旭仪器 | 净化车间_洁净厂房_净化公司_净化厂房_无尘室工程_洁净工程装修|改造|施工-深圳净化公司 | 淋巴细胞分离液_口腔医疗器材-精欣华医疗器械(无锡)有限公司 | 脉冲布袋除尘器_除尘布袋-泊头市净化除尘设备生产厂家 | 合肥礼品公司-合肥礼品定制-商务礼品定制公司-安徽柏榽商贸有限公司 | 发电机价格|发电机组价格|柴油发电机价格|柴油发电机组价格网 | 定制/定做冲锋衣厂家/公司-订做/订制冲锋衣价格/费用-北京圣达信 | 浙江浩盛阀门有限公司| 台湾Apex减速机_APEX行星减速机_台湾精锐减速机厂家代理【现货】-杭州摩森机电 | 创富网-B2B网站|供求信息网|b2b平台|专业电子商务网站 | 科威信洗净科技,碳氢清洗机,超声波清洗机,真空碳氢清洗机 | 卡诺亚轻高定官网_卧室系统_整家定制_定制家居_高端定制_全屋定制加盟_定制家具加盟_定制衣柜加盟 | 手板_手板模型制作_cnc手板加工厂-东莞天泓 | 灌装封尾机_胶水灌装机_软管灌装封尾机_无锡和博自动化机械制造有限公司 | 东莞市踏板石餐饮管理有限公司_正宗桂林米粉_正宗桂林米粉加盟_桂林米粉加盟费-东莞市棒子桂林米粉 | 色谱柱-淋洗液罐-巴罗克试剂槽-巴氏吸管-5ml样品瓶-SBS液氮冻存管-上海希言科学仪器有限公司 | 防锈油-助焊剂-光学玻璃清洗剂-贝塔防锈油生产厂家 | 塑料撕碎机_编织袋撕碎机_废纸撕碎机_生活垃圾撕碎机_废铁破碎机_河南鑫世昌机械制造有限公司 | 电竞学校_电子竞技培训学校学院-梦竞未来电竞学校官网 | 安徽成考网-安徽成人高考网 | 广州小程序开发_APP开发公司_分销商城系统定制_小跑科技 | 缝纫客| SMN-1/SMN-A ABB抽屉开关柜触头夹紧力检测仪-SMN-B/SMN-C-上海徐吉 |