路由Vue-router 及 异步组件

Vue 异步组件

  • defineAsyncComponent 函数
js 复制代码
import { defineAsyncComponent } from "vue";
const AsyncComp = defineAsyncComponent(
	() =>
		new Promise((res, rej) => {
			res({
				template: "<div>hello</div>",
			});
		})
);

/* *** */
import { defineAsyncComponent } from "vue";
const LoginPopup = defineAsyncComponent(() => import("./LoginPopup.vue"));

/* *** */
const asyncPopup = defineAsyncComponent({
	loader: () => import("./LoginPopup.vue"),
	// 加载异步组件时要调用的组件
	loadingComponent: LoadingComponent,
	// 加载失败时的组件
	errorComponent: errorComponent,
	delay: 1000,
	timeout: 1000 * 3,
});
  • 使用 defineAsyncComponent 函数,可以定义一个异步组件,当组件加载完成时,会自动渲染组件.实现异步加载组件
  • 如何与异步的setup 函数结合使用
js 复制代码
/* Vue3 中使用 */
<template>
    <Suspense>
        <login-popup />
        <template #fallback>
            <div>loading...</div>
        </template>
    </Suspense>
</template>;

const LoginPopup = defineAsyncComponent(() => import("./LoginPopup.vue"));

const getArticleInfo = async () => {
    await new Promise((res) => setTimeout(res, 2000));
    const article = {
        title: "xxx",
    };
    return article;
};
export default {
    async setup() {
        const article = await getArticleInfo();
        return {
            article,
        }
    },
};

vue-router

  • 什么是前端路由?
    • 在 SPA 应用,描述的是 URL 和 UI 的映射关系,这种映射是单向的,即 URL 变,UI 变(无需刷新页面)
  • 前端路由原理
    • 如何改变 URL,不引起页面刷新
    • 如何检测 URL 变化,同时触发 UI 更新

壹. 如何实现前端路由

[```html

Router

history 路由

routerView
相关推荐
打妖妖灵滴哪吒27 分钟前
IOS模态窗口的作用与设计原则
前端·ui
午安~婉35 分钟前
挑战二:博客预览卡片
前端·javascript·html
环境栈笔记1 小时前
指纹浏览器安全评测方法:核对环境、数据与权限后再选型
前端·人工智能·后端·自动化
打妖妖灵滴哪吒1 小时前
前端开发/UI设计师-APP中如何进行可发现性设计
前端·ui
Kinghiee1 小时前
从使用场景切入前端常见设计模式
前端·设计模式
郭老二11 小时前
【前端】vue3:编译步骤
前端
不在逃避q11 小时前
Trae/Vs Code/Cursor命令行无法跑npm命令
前端·arcgis·npm
夏殇之殁12 小时前
包中创建自定义列表项。 . 使用自定义列表项进行数据绑定 . 将天气预报数据保存到本地内存表,通过LiveBindings进行显示。 ...
服务器·前端·javascript
The Chosen One98512 小时前
高进度算法模板速记(待完善)
java·前端·算法
陈随易12 小时前
MoonBit抓包模块pcap,查看电脑的每一次联网通信
前端·后端·程序员