(二)一个不用VueRouter的例子
一个 例子 不用
2023-06-13 09:17:09 时间
<template>
<nav>
<a
v-for="(route, path) in routes"
:href="path"
@click.prevent="changeRoute(path)"
>{{ route.label }}</a
>
</nav>
<component :is="currentPage" />
</template>
<script setup>
import PageOne from "./components/PageOne.vue";
import PageTwo from "./components/PageTwo.vue";
import PageThree from "./components/PageThree.vue";
import { ref, computed } from "vue";
const routes = {
"/": {
component: PageOne,
label: "页面1",
},
"/2": {
component: PageTwo,
label: "页面2",
},
"/3": {
component: PageThree,
label: "页面3",
},
};
const currentPath = ref(location.pathname);
const currentPage = computed(
() => routes[currentPath.value].component || PageOne
);
function changeRoute(path) {
// 使用浏览器自带的api 来实现
history.pushState(null, null, path);
currentPath.value = location.pathname;
}
</script>
总结:写在最后
- 对于小型应用可以使用这样的方式来实现,大型应用还是使用
VueRouter
相关文章
- ABAP Web Service 调用的一个例子
- 如何实现一个全链路监控平台
- 如何用低代码构建一个会说话的机器狗
- SAP Spartacus SSR 中的 shimming 实现的一个例子
- iOS 14 中如何对一个SwiftUI App 增加 AppDelegate?
- 改改改!一个例子举一反三,体悟(x)的真谛 | PQ重难点突破
- javascript中一个字符占几个字节
- 用 SAP UI5 Select 控件(下拉列表),来驱动表格控件(Table)刷新的一个实战例子试读版
- 在线制作圆形公章-Excel2007中制作一个圆形电子印章的操作方法
- 2023-01-02:某天,小美在玩一款游戏,游戏开始时,有n台机器,每台机器都有一个能量水平,分别为a1、a2、…、an,小美
- 用c语言手搓一个600行的类c语言解释器: 给编程初学者的解释器教程(1)- 目标和前言
- Media Query 在 CSS 中使用的一个具体例子
- MySQL注入引号:一个安全隐患(mysql注入引号)
- 查看MySQL的端口:一个必要的步骤(查看MySQL的端口)
- 一个方便的用于创建树莓派 SD 卡镜像的程序
- 大公司开源怎么做?SOFAStack 给出一个很好的例子
- C与MySQL结合一个简单的示例(c# mysql 例子)
- 导入另一个表Oracle从一个表导入另一个表快速有效的数据迁移方式(oracle从一个表数据)
- Redis容量不再是一个瓶颈(redis 缓存多少数据)
- 一个简单实现多条件查询的例子
- 一个简单的XMLSchema的例子
- Dom遍历XML的一个例子,结果为树状结构
- javaEJB加密与解密原理的一个例子
- 一个简单的javascript类定义例子
- 一个php作的文本留言本的例子(五)
- JAVA遍历一个文件夹中的所有文件的小例子
- 纯PHP生成的一个树叶图片画图例子