久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

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

vue 基于abstract 路由模式 實(shí)現(xiàn)頁(yè)面內(nèi)嵌的示例代碼

瀏覽:6日期:2022-10-19 15:42:12
abstract 路由模式

abstract 是vue路由中的第三種模式,本身是用來(lái)在不支持瀏覽器API的環(huán)境中,充當(dāng)fallback,而不論是hash還是history模式都會(huì)對(duì)瀏覽器上的url產(chǎn)生作用,本文要實(shí)現(xiàn)的功能就是在已存在的路由頁(yè)面中內(nèi)嵌其他的路由頁(yè)面,而保持在瀏覽器當(dāng)中依舊顯示當(dāng)前頁(yè)面的路由path,這就利用到了abstract這種與瀏覽器分離的路由模式。

路由示例

export const routes = [ { path: '/', redirect: 'abstract-route', }, { path: '/embed-route', name: 'embedded', component: () => import(/* webpackChunkName: 'embed' */ '../views/embed.vue'), }, { path: '/abstract-route', name: 'abstract', component: () => import(/* webpackChunkName: 'abstract' */ '../views/abstract.vue'), },];const router = new VueRouter({ mode: 'history', base: process.env.BASE_URL, routes,});

本次示例有兩個(gè)路由,分別為abstract,embedded,其中abstract視圖上展開(kāi)一個(gè)抽屜,抽屜當(dāng)中顯示embedded的視圖。即:

<template> <div> <RouterDrawer :visible.sync='visible' :path='{ name: ’embedded’ }' size='50%' ></RouterDrawer> <el-button @click='visible = true'>open drawer</el-button> </div></template>// embedded views<template> <div> embedded views </div></template>

vue 基于abstract 路由模式 實(shí)現(xiàn)頁(yè)面內(nèi)嵌的示例代碼

router-drawer 封裝

當(dāng)前項(xiàng)目默認(rèn)是history 的路由模式,因此在進(jìn)入abstract頁(yè)面時(shí),瀏覽器Url為http://127.0.0.1:8010/abstract-route,而router-drawer要做的是在此基礎(chǔ)上,重新實(shí)例化一個(gè)abstract模式的路由,然后在組件當(dāng)中利用<router-view />去掛載要被內(nèi)嵌的目標(biāo)頁(yè)面。即:

<template> <el-drawer :visible.sync='visible' v-bind='$attrs' :before-close='handleClose' > <router-view /> </el-drawer></template><script>import { routes } from '../router/index';import VueRouter from 'vue-router';export default { name: 'router-drawer', props: { path: { type: Object, required: true, }, visible: { type: Boolean, required: true, default: false, }, }, // 此處實(shí)例化一個(gè)新的router來(lái)配合當(dāng)前頁(yè)面的router-view router: new VueRouter({ mode: 'abstract', base: '/', routes, }), methods: { handleClose() { this.$emit('update:visible', false); }, }, mounted() { console.log('drawer router', this.$router); this.$router.push(this.path); },};</script>

通過(guò)打印日志可以得出兩個(gè)實(shí)例化的路由:

vue 基于abstract 路由模式 實(shí)現(xiàn)頁(yè)面內(nèi)嵌的示例代碼

這樣即可實(shí)現(xiàn)在不改變當(dāng)前頁(yè)面path的前提下加載其他路由中的views了。

代碼示例

以上就是vue 基于abstract 路由模式 實(shí)現(xiàn)頁(yè)面內(nèi)嵌的示例代碼的詳細(xì)內(nèi)容,更多關(guān)于vue 實(shí)現(xiàn)頁(yè)面內(nèi)嵌的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Vue
相關(guān)文章:
主站蜘蛛池模板: 九九九色 | 国产成人精品一区二区三区视频 | 国产在线一区二区三区 | 久久久久国产精品免费免费搜索 | 亚洲欧洲一区二区 | 久久久国产视频 | 国产精品久久久久久久久岛 | 一本大道久久a久久精二百 国产精品片aa在线观看 | 蜜桃av一区二区三区 | 亚洲高清视频一区 | 亚洲国产精品一区二区久久 | 久久久亚洲一区 | 在线国产一区 | 亚洲高清在线视频 | 一区二区影视 | 国产一区二区精品在线观看 | 国产精品高清在线 | 日韩欧美国产精品 | 天天操天天干天天爽 | 91精品国产综合久久福利 | 国产一区在线视频 | 最新中文字幕在线 | 成人精品在线观看 | 成人在线一区二区 | 国产综合视频在线观看 | 免费爱爱视频 | 欧美日韩在线不卡 | 精久久久 | 最近韩国日本免费观看mv免费版 | 日韩欧美一级 | 色婷婷在线播放 | 欧美日韩综合视频 | 精品少妇一区二区 | 国产日韩欧美 | 久久99国产精品久久99大师 | 国产精品久久久久久久久久 | 亚洲一区视频在线 | 91大神xh98hx在线播放 | 国产在线观看一区二区 | 欧美日韩中文 | 99亚洲|