vue实现路由监听和参数监听
网络编程 2021-07-04 15:02www.168986.cn编程入门
今天长沙网络推广就为大家分享一篇vue实现路由监听和参数监听,具有很好的参考价值,希望对大家有所帮助。一起跟随长沙网络推广过来看看吧
1、路由携带数据跳转
routerAction(hideDisplays, data) { switch (hideDisplays) { case "pubAountMenu": this.$router.push({ name: "AppAountInfo", }); break; //在菜单路由上存储各种需要信息 case "publicDocInfoMenu": //菜单code: publicDocInfoMenu data.instanceInfo.active = 4 //标记已点击的标签页 data.instanceInfo.fromMenu = true data.instanceInfo.editOrAdd = false; this.getUcMenuInfo(data.instanceInfo) //数据、对象等 this.$router.push({ name: "DocumentInfoMaint", params: { instanceInfo: data.instanceInfo, uuid: data.uuid, breadCrumb: data.instanceInfo.name, breadCrumbEn: En_Name, prefix: 'text.breadCrumb.MyUseCase', //面包屑信息 prefixPath: '/MyApplications', breadPath: '/AppInfo/' + data.uuid, routeName:'AppInfo', prefixRouteName:'MyApplications', firstRoute:true } }); break; } }
2、路由监听
watch: { $route: function (to, from) { if (this.$route.params.instanceInfo) { // let data = JSON.parse(this.$route.params.instanceInfo); let isObject = this.$route.params.instanceInfo; //获取路由传过来的数据 //判断数据是否为对象,如果不是,则解析并获取数据 let data = isObject instanceof Object ? this.$route.params.instanceInfo : JSON.parse(this.$route.params.instanceInfo); this.currentProductId = data.uuid; this.solutionUuid = data.uuid; this.setValue(data) localStorage.setItem('SolutionInfo', JSON.stringify(data)); } else if (localStorage.getItem("SolutionInfo")) {//在浏览器的本地存储中获取数据 //一般数据在浏览器的本地存储中会以JOSN字符串的方式存储,所以要把数据转换成JSON对象来使用 let data = JSON.parse(localStorage.getItem("SolutionInfo")); this.currentProductId = data.uuid; this.solutionUuid = data.uuid; this.setValue(data) } } }
3、值监听
页面A //定义要监听的对象 <vm-register-table :param="param" :child-open-table="jumpOrDialog" /> 例如监听param (1).若param为对象,则需要把它转换成JSON字符串 let tenantParam = { tenantId:tenantId, isTerminals: this.jumpOrDialog.isTerminals } this.param = JSON.stringify(tenantParam); (2).若param为字符串,则不用做任何转换 this.param = currentPage; 页面B //1.注册监听对象 props: ['childOpenTable','param'], //2.监听 (1). watch:{ param:function(oldValue){ console.log("newValue++"+oldValue) let jumpOrDialog = JSON.parse(oldValue) console.log("jumpOrDialog==++"+jumpOrDialog) let isTerminal = jumpOrDialog.isTerminals if(isTerminal){ this.tenantId = jumpOrDialog.tenantId; }else{ let userInfo = JSON.parse(localStorage.getItem("userInfo")) this.tenantId = userInfo.tenantId; } let vmData = { tenantId: this.tenantId, pageNum: this.pageNum, pageSize: this.pageSize } this.getAllVmRegister(vmData); } }, (2). watch:{ param:function(oldValue){ let pages = JSON.parse(oldValue) this.currentPage = pages; } }
以上这篇vue实现路由监听和参数监听就是长沙网络推广分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持狼蚁SEO。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程