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

北京网页制作模板seo主要做什么

北京网页制作模板,seo主要做什么,小程序模板免费制作,如何自己开发微网站要想实现vitevue-router实现动态路由我们需要用到 1. addRoute() 官方文档中addRoute的使用 当我们添加一个主路由的时候 router.addRoute({ path: /permission, name: permission, component: () > import(xxxxx)}) 添加子路由也就是嵌套路由 router.addRoute(主路由的…

要想实现vite+vue-router实现动态路由我们需要用到

1. addRoute()

官方文档中addRoute的使用

当我们添加一个主路由的时候

router.addRoute({ path: '/permission', name: 'permission', component: () => import('xxxxx')})

添加子路由也就是嵌套路由

router.addRoute('主路由的name', { path: 'settings', component: AdminSettings })

2. 导航守卫使用时的注意事项,否则会出现刷新白屏,或者路由访问死循环等

之前我们使用导航守卫的时候需要一个参数next()去控制是否放行以及去哪个页面,但是在新版本的vue-router里面可以不是用next()

我们可以新建一个permission.ts文件

import router from "./index";
import { useSessionStorage } from "@vueuse/core";
import { StorageEnum } from "@/enum";
import { useUserStore } from "@/store";const whiteList = ["/login", "/404"];router.beforeEach(async (to) => {const token = useSessionStorage(StorageEnum.TOKEN, "").value;// 如果在白名单里面 并且 token 不存在if (whiteList.includes(to.path) && !token) {return true;} else {const { menuList, getMenuList } = useUserStore();// 如果为空数组,name就请求接口重新获取后端维护的路由数据if (!menuList.length) {await getMenuList();console.log("获取全部路由 =>", router.getRoutes());// 触发重定向 不这样写会导致刷新找不到路由 两种写法都行// return { path: to.fullPath };return to.fullPath;}}
});

出现404的话比如说你在路由表中维护了下面路由映射

{path: "/:pathMatch(.*)",name: "page404",component: () => import("@/views/system/404.vue"),
}

3. 获取后端tree数据,递归循环,可能业务会有type类型,比如分为模块,菜单,页面,按钮等,到时候结合业务去实现逻辑

4.import.meta.glob()

import.meta.glob动态的去拼接获取文件,把后台返回内容转换成() => import('xxxx')格式

以下代码仅供参考,有很多需要完善的地方

import type { RouterType } from "@/router/type";
import router from "@/router";
import type { RouteRecordRaw } from "vue-router";export const useRouterConfig = () => {// 获取views目录下的所有的文件 不要使用@别名 const modules = import.meta.glob("../views/**");const asyncRoutes = ref<RouterType[]>([]);const addRoutes = (menus: RouterType[]) => {asyncRoutes.value = menus;filterAsyncRouter();// 动态添加 / 路由router.addRoute({path: "/",redirect: asyncRoutes.value[0].path,});};const filterAsyncRouter = () => {const routerLoop = (routes: RouterType[], ParentName?: string) => {routes.forEach((item) => {if (item.component === "Layout") {item.component = () => import("@/layout/index.vue");} else {item.component = resolveComponent(item.component);}const { title, show, icon, name, path, component, children } = item;const route: RouteRecordRaw = {component,path,name,meta: {title,show,icon,},children: children as any,};// 动态添加路由if (ParentName) {router.addRoute(ParentName, route);} else {router.addRoute(route);}if (item.children && item.children.length > 0) {routerLoop(item.children, item.name);}});};routerLoop(asyncRoutes.value);};const resolveComponent = (path: string) => {console.log(modules);// 拿到views下面的所有文件之后,动态拼接`key`去获取valueconst importPage = modules[`../views${path}`];if (!importPage) {throw new Error(`Unknown page ${path}. Is it located under Pages with a .vue extension?`);}return importPage;};return { addRoutes };
};

http://www.dtcms.com/wzjs/472896.html

相关文章:

  • 网站建设优化服务价位游戏推广员一个月能赚多少
  • 加大整合力度网站集约建设品牌营销咨询公司
  • 常见的网站盈利方式百度网站官网
  • 手机一键生成户型图网站优化怎么操作
  • 仿5173网站软文广告示范
  • 长宁武汉阳网站建设下载百度官方版
  • wordpress中标签作用seo最新教程
  • 郑州网站设计哪家公司好semantic ui
  • 品牌推广策划营销策划郑州网站seo推广
  • 网站设计是什么专业百度营销是什么
  • 便宜网站建设模板网站最近新闻热点事件
  • 网站建设方案设计网络营销服务公司有哪些
  • 中山如何建网站怎么做推广让别人主动加我
  • 四川省建设部网站百度指数电脑端查询
  • 没有公司 接单做网站子域名查询工具
  • 亚马逊网站开发的技术武汉抖音seo搜索
  • 机械加工网上接单流程seo是啥
  • 建设网站 备案广告平台网站有哪些
  • 富锦网站制作怎样精准搜索关键词
  • wordpress编辑器内容网络推广运营优化
  • 网站如何做网站征求意见专栏百度广告点击软件源码
  • 适合权重小的网站做的专题产品互联网营销推广
  • 做最简单的网站seo优化工作有哪些
  • 具体的网站建设百度云网盘
  • 做自己的网站怎么购买空间百度贴吧免费发布信息
  • [网络收集]form表单及网站开发中常用js表单取值方法指定关键词seo报价
  • 建设部网站官网证书查询seo免费课程
  • 个人网站备案好麻烦哦视频剪辑培训班一般学费多少
  • 沈阳中小企业网站建设seo搜索引擎优化就业指导
  • 株洲网站制作公司有哪些产品营销方案策划