当前位置: 首页 > news >正文

强化网站建设和管理/问卷调查网站

强化网站建设和管理,问卷调查网站,多地进一步优化防控措施,仪征网站建设公司业务场景,点击某个按钮需要跳转到外部iframe的地址,但是需要在本项目内显示。以前项目中写过调用外部链接的功能,是有菜单的,但是这次是按钮,所以不能直接把地址配到菜单里。 实现方法:在本地路由文件里写个…

业务场景,点击某个按钮需要跳转到外部iframe的地址,但是需要在本项目内显示。以前项目中写过调用外部链接的功能,是有菜单的,但是这次是按钮,所以不能直接把地址配到菜单里。

实现方法:在本地路由文件里写个路由,meta里的iframe地址设为空字符串,然后在点击按钮的页面通过一个方法,获取以前配置过跳外部iframe的菜单地址(红框里的),并替换路径,然后再把新地址设置到写的路由文件里,再携带参数跳转。

1、 src/router/index.ts,增加路由,@/views/Iframe/index.vue这个组件是写好的解析路径的组件

 {path: '/',component: LayoutComponent,name: 'XXX预览',children: [{path: '/4705778289',component: () => import('@/views/Iframe/index.vue'),name: '4705778289',meta: {hidden: true,title: 'XXX预览',iframe: "",id: "4705778289",outorin: '1',},}],meta: {hidden: true,}}

2、在routerHelper.ts文件里写一个查找某条路由的方法,以前iframe使用uuid查找,但是这里查找的时候需要加个?,所以改了一下uuid的方法,改成了直接传入一个参数

// 根据name,从多层数组获取路由对象。 
export const getRouteItemByIframeUuidName = (name, ignoreType = true)=>{const list = permissionStore.getAllAuthMenu;if(!name){ return false; }let resultlet hasFound = falseconst fn = function(list, name){for(let i=0; i < list.length; i++){if(list[i]?.meta?.iframe?.includes?.(name) && !hasFound && (ignoreType ? true : list[i].moduletype === '1')){result = list[i]hasFound = true}else if(list[i].children && list[i].children.length > 0){fn(list[i].children, name)}}}fn(list, name)return result
}

3、在文件里引入方法,使用递归方法 getRouteItemByIframeUuidName('secondnet?')查找包含字符串,找到后台添加的iframe地址,

4、找到后使用replace替换secondnet,替换为secondnetpreview,

5、然后引入router文件,通过循环找到这条路由,更新meta.iframe,然后再携带query跳转

 

 import { getRouteItemByIframeUuidName } from '@/utils/routerHelper'import { constantRouterMap } from '@/router' // 写的路由文件里的路由<el-tooltip effect="dark" content="XXX按钮" placement="right" popper-class="atooltip"><el-buttontype="primary"plainsize="small"@click="goSecondnet"class="goFirstnet font14 iconfont"><i class="iconfont iconjinruerciguanwang"></i></el-button></el-tooltip>// 调取预览:type:4;ObjectID :编号goSecondnet() {const cur = getRouteItemByIframeUuidName('secondnet?'); // 通过方法获取以前配置过的地址const url = cur.meta.iframe.replace('secondnet', `secondnetpreview`) // 路径替换为现在需要的路径// 修改在路由文件里刚刚写的路由的iframeconstantRouterMap.forEach(item => {if (item.name == 'XXX预览') {if (item.children[0].name == '4705778289') {item.children[0].meta.iframe = url;}}});// 携带参数跳转if (props.selectEle?.type == "communityRange" && props.selectEle?.item) {router.push({ path: '/4705778289', query: {id: props.selectEle?.item.STATIONID,type: '4',}});}},

http://www.jmfq.cn/news/5331565.html

相关文章:

  • asp网站建设项目实训/宁波seo公司排名榜
  • 半导体网站建设/设计外包网站
  • 医疗美容培训网站建设/广告主平台
  • 浙江响应式网站建设/怎么优化网络
  • 叙述一个网站的建设过程/找小网站的关键词
  • 真人棋牌网站建设/销售系统
  • 珠海建设网站的公司/我想在百度发布信息
  • 与网站建设有关的招标文件/网络营销主要有哪些特点
  • 聊城市建设局网站/无锡网站推广公司
  • html网站建设流程图/网络广告策划
  • 网站建设定制单/全国免费信息发布平台
  • 一个好的网站怎么建设/网站404页面怎么做
  • 石狮建设网站/网络营销网
  • 上海哪学网站建设优化/seo是什么味
  • 学院二级网站建设方案模板/sem搜索引擎
  • 厦门外贸网站建设 之家/杭州优化公司多少钱
  • 网站建设公司介绍ppt/软文广告投放平台
  • 温州网站网站建设/网站优化和网站推广
  • 陕西省建设造价协会网站/长沙网站关键词推广
  • 建设个人网站教程/百度竞价项目
  • 网站建设与设计教程/西安关键词优化服务
  • 沈阳建设银行网站/百度浏览器官方网站
  • 专业网站建设的意义/搜索词排行榜
  • 市城乡规划建设局网站/广州今日头条新闻
  • 徐州公司网站建设/一个具体网站的seo优化方案
  • 手机旅游网站建设/永久免费个人网站注册
  • 网站建设的工作在哪里找客户资源/重庆森林经典台词
  • 赤峰城乡建设委员会网站/如何做网站关键词优化
  • 湖南住房和城乡建设厅网站/百度排名服务
  • 所有北京网站建设公司/免费b站网站推广