vue3路由代码示例

路由简单分三步吧

第一定义路由: 包括访问地址,对应组件

第二使用:在index.html中使用它

下面是代码示例:

components/Person.vue

<template><router-link to="/test/hello">跳转</router-link><!-- 跳转子路由 --><router-view/><div class="ttt">
<!-- 		<button @click="consoleName">测试一下</button>--><h2>{{age}}</h2><button @click="addAge">年龄+1</button><h2>{{age2}}</h2> 
<!-- 		<li v-for="data in reactive2" :key="data.name">{{data.name}}</li><h2>{{reactive3.name}}</h2><h2>{{reactive4.a.b.c.d}}</h2> --><button @click="updateReactive2">更新数据</button>
<!-- 		<h2>{{objectRef.two}}</h2> -->
<!-- 		<h2>{{score}}</h2><h2>{{name}}</h2><h2>{{refObj}}</h2><h2>toRefid:{{toRefId}}</h2> --><h2>{{fullName}}</h2><h2>{{name3}}</h2><h2>refObj:{{refObj}}</h2><h2>reactive3:{{reactive3}}</h2><button @click="test">测试一下</button><h2>{{reactive5}}</h2><h2>汽车:{{ person.car.c1 }}、{{ person.car.c2 }}</h2><button @click="changeCar">修改整个车</button></div>
</template><script setup lang="ts" name="testName">import {ref} from 'vue'import {reactive} from 'vue'import {toRefs} from 'vue'import {toRef} from 'vue'import {computed} from 'vue'import {watch} from 'vue'let age2 = 1const obj = {one:Number,two:Number}let objectRef = ref<obj>({one:1,two:2})let reactive4 = reactive({a:{b:{c:{d:233}}}})let reactive3 = reactive({id:1,name:'13123132测试数据'})let reactive2 = reactive([{name:'测试1'},{name:'测试2'},])let student = reactive({id:1,score:25,name:'数学'})let {score,name} = toRefs(student);let toRefId = toRef(student,'id');let refObj = ref([{id:1,name:'ref对象'},{id:2,name:'测试咯'}])function updateReactive2(){reactive2[0].name = "更新数据"reactive4.a.b.c.d = 6666objectRef.value.two = 6score.value = 99// refObj.value[1].name = '更新的数据'refObj.value = {id:3,name:'测试一下'}reactive3.name= "reactive3更新数据"toRefId.value = 2 +1fullName.value = "啦啦啦啦啦"}// 数据let person = reactive({name:'张三',age:18,car:{c1:'奔驰',c2:'宝马'}})function changeCar(){person.car = {c1:'雅迪',c2:'爱玛'}}// 监视,情况五:监视上述的多个数据watch([()=>person.name,()=>person.car],(newValue,oldValue)=>{debuggerconsole.log('person.car变化了',newValue,oldValue)},{deep:true})let reactive5 = reactive({id:1,name:{xing:'wang',ming:'sansan'}})function test(){reactive5.name = {xing:'2',ming:'测试'}}const reactiveWatch = watch(reactive3,(newValue,oldValue)=>{console.log("reactive对象值变化",newValue,oldValue)})watch([()=>reactive5.id,reactive5.name],(newValue,oldValue)=>{console.log("reactive5对象多属性变化",newValue,oldValue)},{deep:true})watch(refObj,(newValue,oldValue)=>{console.log("ref对象变化",newValue,oldValue)},{deep:true})watch(reactive3,(newValue,oldValue)=>{console.log("reactive对象变化",newValue,oldValue)})let age = ref(1)function addAge(){age.value = age.value + 1 age2 += 1refObj.value.name= 6666}const swatch = watch(age,(newValue,oldValue)=>{console.log("ref变量值变化"+newValue+oldValue)if(newValue>5){swatch()}})let name3 = ref('李莉莉')let fullName = computed({get(){return name3},set(value){console.log("赋值方法")name3.value = value}})</script><style>.ttt{color:red}
</style>

router/index.js:定义路由地址和映射组件

import testName from '../components/Person.vue'
import HelloWorld from '../components/HelloWorld.vue'import {createRouter,createWebHistory} from 'vue-router'const router = createRouter({history:createWebHistory(),routes:[{path:'/test',component:testName//在这个路由界面上补上router-link,以及routerView就可以跳转子路由children:[{path:'/test/hello',//子路由:路径要完整component:HelloWorld}]}]
})export default router

main.ts:把组件绑定到标签id上

// 映入createApp用于创建应用
import { createApp } from "vue"// 引入App根组件
import App from './App.vue'
// 引入路由器
import router from './router'// 创建根组件应用
const app = createApp(App);
// 使用路由器
app.use(router)
// 将整个应用挂在到id为app的容器上
app.mount('#app')

App.vue:使用路由要注意,routerlink和router-view是必须有的,后者是组件显示位置

<script setup>
// This starter template is using Vue 3 <script setup> SFCs
// Check out https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup
// import VueTwo from './components/vue2.vue'
import Person from './components/Person.vue'
import HelloWorld from './components/HelloWorld.vue'</script><template>
<!-- 	<VueTwo/> -->
<!-- 	<Person/>-->
<!--  <img alt="Vue logo" src="./assets/logo.png" /> -->
<!-- <HelloWorld msg="Hello Vue 3 + Vite" /> -->
<router-link to="/test">测试</router-link>
<router-view/>
</template><style>
#app {font-family: Avenir, Helvetica, Arial, sans-serif;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;text-align: center;color: #2c3e50;margin-top: 60px;
}
</style>

index.html

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><link rel="icon" href="/favicon.ico" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Vite App</title></head><body><div id="app"></div><script type="module" src="/src/main.ts"></script></body>
</html>

页面效果图:
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/775737.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一键换脸的facefusion

FaceFusion 一个开源换脸软件&#xff0c;提供UI界面&#xff0c;启动后可直接在浏览器上面上传图片进行换脸操作。 电脑环境win10&#xff0c;软件pycharm&#xff0c;需要提前安装好python环境&#xff0c;推荐使用Anaconda3。关注文章下方公共号发送 “ 软件安装包 ”可以获…

Leetcode239_滑动窗口最大值

1.leetcode原题链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 2.题目描述 给你一个整数数组 nums&#xff0c;有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口…

夜莺浏览日志、filebeat采集日志(四)

文章目录 一、elasticsearch二、filebeat三、日志分析 一、elasticsearch docker启动 docker run -d -p 9200:9200 -p 9300:9300 --restartalways -e ES_JAVA_OPTS"-Xms512m -Xmx512m" \ -e discovery.typesingle-node -e xpack.security.enabledtrue -e ELASTIC_P…

plantegg-10+倍性能提升全过程–优酷账号绑定淘宝账号的TPS从500到5400的优化历程

原文地址:https://plantegg.github.io/2018/01/23/10%E5%80%8D%E6%80%A7%E8%83%BD%E6%8F%90%E5%8D%87%E5%85%A8%E8%BF%87%E7%A8%8B/ 背景说明 2016年的双11在淘宝上买买买的时候&#xff0c;天猫和优酷土豆一起做了联合促销&#xff0c;在天猫双11当天购物满XXX元就赠送优酷会…

什么是生态智慧公厕@光明源

生态智慧公厕是一种结合生态环保理念和智能科技的公厕设施。这种公厕旨在提供更加环保、节能、可持续的卫生解决方案&#xff0c;同时通过智能化技术提升管理效率和用户体验。生态智慧公厕通常具有以下特点&#xff1a; 节能环保&#xff1a;生态智慧公厕采用了各种节能环保技…

npm淘宝镜像源更新

目录 前情提要&#xff1a; 背景&#xff1a; 镜像源更新&#xff1a; 清楚缓存&#xff1a; 直接切换镜像源&#xff1a; 补充&#xff1a; 错误解释&#xff1a; 解决方法&#xff1a; 前情提要&#xff1a; 2024 /1 /22 &#xff0c;registry.npm.taobao.org淘宝镜像源的SSL…

【面试】Elasticsearch 在部署时,对 Linux 的设置有哪些优化方法?

Elasticsearch 在部署时&#xff0c;对 Linux 的设置有哪些优化方法&#xff1f; Elasticsearch是一个分布式搜索和分析引擎&#xff0c;它在Linux环境下的性能和稳定性可以通过一些优化方法进行提升。以下是一些针对Linux环境下Elasticsearch部署的优化方法&#xff1a; 1. 内…

【2024系统架构设计】案例分析- 3 数据库

目录 一 基础知识 二 真题 一 基础知识 1 ORM ORM(Object—Relationl Mapping

Java学习笔记(22)

缓冲流 真正操作数据的还是基本流 字节缓冲流 缓冲区是长度为8192的字节缓冲区 byte[] 8K Bufferedininputstream 读取数据就是把数据放到缓冲区中&#xff0c;字节长度默认长度8192 关流只需要关缓冲流&#xff0c;因为在底层会关基本流 一次读多个字节 字节缓冲流提高效…

XR虚拟直播间,引领创新风潮,打破直播局限!

随着互联网技术日新月异的发展&#xff0c;直播行业也迎来了蓬勃发展的春天。然而&#xff0c;大多数直播间在吸引观众眼球和延长用户观看时长方面&#xff0c;仍然面临着巨大的挑战。正是在这样的背景下&#xff0c;XR虚拟直播系统应运而生&#xff0c;以其多维度的直播场景、…

自然语言处理3(NLP)—— 机器学习

1. 自然语言处理在机器学习领域的主要任务 自然语言处理&#xff08;NLP&#xff09;在机器学习领域中扮演着至关重要的角色&#xff0c;旨在使计算机能够理解、解释和生成人类语言。以下是NLP在机器学习领域中的主要任务及其分类方法&#xff1a; 1.1 按照功能类型分类 1.1.…

Nacos的搭建和使用——SpringCloud Alibaba

1. 概要说明 在使用Nacos之前&#xff0c;请在你的虚拟机中下载好Nacos,再进行连接本机使用 port&#xff1a;8848 本机访问地址&#xff1a;http://{虚拟机ip}:8848/nacos/ 访问账号密码&#xff1a;nacos/nacos 2. Nacos的作用 2.1 服务发现中心 微服务将自身注册至Nacos&am…

Netty服务端基本启动流程源码刨析

前言: 希望看这篇文章之前对Java Nio编程比较熟悉&#xff0c;并有用过Netty开发简单代码 服务端代码 先大致说一下NioEventLoopGroup组件的作用&#xff0c;可以把它看是作内部维护了一个NioEventLoop数组的对象&#xff0c;它的构造方法的参数用来指定维护数组的大小。NioEve…

【Flutter 面试题】 Dart 是不是单线程模型?是如何运行的?

【Flutter 面试题】 Dart 是不是单线程模型&#xff1f;是如何运行的&#xff1f; 文章目录 写在前面口述回答补充说明示例&#xff1a;异步编程示例&#xff1a;使用 Isolates 处理计算密集型任务总结 写在前面 &#x1f64b; 关于我 &#xff0c;小雨青年 &#x1f449; CSD…

Echarts之x轴,Y轴配置项大全

ECharts是一个强大的数据可视化库&#xff0c;提供了丰富的配置项来定制图表的x轴和y轴。下面是ECharts中x轴和y轴的配置项大全&#xff1a; xAxis配置项&#xff1a; type&#xff1a;轴类型&#xff0c;可选值有&#xff1a;“value”&#xff08;数值轴&#xff09;, “cat…

docker 的网络管理

docker应用自带了三种类型的网络&#xff0c;然后我们自己也能自定义网络 roottest-virtual-machine:~# docker network ls NETWORK ID NAME DRIVER SCOPE 4c3e28760cff bridge bridge local afd1493dc119 host host local 5f200e2eaf22 n…

政安晨:【Keras机器学习实践要点】(六)—— 使用内置方法进行训练和评估

政安晨的个人主页&#xff1a;政安晨 欢迎 &#x1f44d;点赞✍评论⭐收藏 收录专栏: TensorFlow与Keras实战演绎机器学习 希望政安晨的博客能够对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff01; 本文涵盖使用内置 API 进行训练和验证&#…

01-DBA自学课-安装部署MySQL

一、安装包下载 1&#xff0c;登录官网 MySQL :: MySQL Downloads 2&#xff0c;点击社区版下载 3&#xff0c;找到社区服务版 4&#xff0c;点击“档案”Archives 就是找到历史版本&#xff1b; 5&#xff0c;选择版本进行下载 本次学习&#xff0c;我们使用MySQL-8.0.26版本…

机器学习 | 期望最大化(EM)算法介绍和实现

在现实世界的机器学习应用中&#xff0c;通常有许多相关的特征&#xff0c;但只有其中的一个子集是可观察的。当处理有时可观察而有时不可观察的变量时&#xff0c;确实可以利用该变量可见或可观察的实例&#xff0c;以便学习和预测不可观察的实例。这种方法通常被称为处理缺失…

vue2高德地图选点

<template><el-dialog :title"!dataForm.id ? 新建 : isDetail ? 详情 : 编辑" :close-on-click-modal"false" :visible.sync"show" class"rv-dialog rv-dialog_center" lock-scroll width"74%" :before-close&q…