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

路由的概述

npm i vue router

注意点

  1. 路由组件通常放在pages或views文件夹,一般组件通常放在存放在components文件夹。

  2. 通常点击导航,视觉效果上“消失”了的路由组件,默认是“卸载”掉的,需要的时候再去挂载

路由器的工作模式

  1. history模式

  2. hash模式

To的写法

//字符串写法
<RouterLink to="/home" active-class="active">首页</RouterLink>//对象写法
<RouterLink :to="{name:'xinwen'}" active-class="active">新闻</RouterLink>//命名路由
​
<RouterLink :to="{path:'/about'}" active-class="active">关于</RouterLink>

参数传递

query

<RouterLink
:to="{
path:'/news/detail',
query:{
id:news.id,
title:news.title,
summary:news.summary
}
}"
>
{{ news.title }}
</RouterLink>

params

路由的props配置

参数传递:

<RouterLink  :to="{name:'detail',query:{ id:news.id, title:news.title, summary:news.summary }
}"\>
{{news.title }}
</RouterLink>

路由器中props

//第一种写法:将路由收到的所有params参数作为props传给路由组件// props:true,
​// 第二种写法:函数写法,可以自己决定将什么作为props给路由组件props(route){return route.query}
​//第三种写法:对象写法,只能写成定值// props:{//     a:100,//     b:200,//     c:300// }

replace和push属性

默认都是push,在导航栏可以修改

<RouterLink href="#" :to="`/news/detail/${news.id}/${news.title}/${news.summary}`">
{{news.title}}
</RouterLink>
​
//修改后<RouterLink replace href="#" :to="`/news/detail/${news.id}/${news.title}/${news.summary}`">{{news.title}}</RouterLink>

replace是替换,看完当前路由就不能回到上一级查看的记录。push像栈一样,可以一步一步回到上一级查看的记录。

编程式导航

脱离<RouterLink>实现路由跳转

<script lang="ts" setup name="Home">import { onMounted } from 'vue';import { useRouter } from 'vue-router';
​const router = useRouter();//编程式导航,实现在主页浏览3秒后跳转到新闻页面onMounted(() => {setTimeout(() => {router.push('/news')}, 3000)
})
</script>
​
<button @click="showNewsDetail(news)">查看新闻</button>
​
<script lang="ts" setup name="News">
import { useRouter } from 'vue-router';
const router = useRouter()
function showNewsDetail(news:newsInter){router.push({name:'detail',//params只能用name,不能用path。query:{id:news.id,title:news.title,summary:news.summary}})
}
</script>
http://www.dtcms.com/a/286838.html

相关文章:

  • Android开发工程师:Linux一条find grep命令通关搜索内容与文件
  • ffplay显示rgb565格式的文件
  • CentOS下安装Mysql
  • Prometheus错误率监控与告警实战:如何自定义规则精准预警服务器异常
  • 【Linux】Linux异步IO-io_uring
  • YOLO融合CAF-YOLO中的ACFM模块
  • 怎么解决Spring循环依赖问题
  • go安装使用gin 框架
  • 在Jetson部署AI语音家居助手(二):语音激活+语音转文字
  • RS485转PROFIBUS DP网关写入命令让JRT激光测距传感器开启慢速模式连续测量
  • Angular项目IOS16.1.1设备页面空白问题
  • Windows 环境下递归搜索文件内容包含字符串
  • 亚马逊广告高级玩法:如何通过ASIN广告打击竞品流量?
  • 关于一个引力问题的回答,兼谈AI助学作用
  • 读书笔记:《动手做AI Agent》
  • el-date-picker 如何给出 所选月份的最后一天
  • C++ -- STL-- stack and queue
  • 通付盾即将亮相2025世界人工智能大会丨携多智能体协同平台赋能千行百业
  • 如何写python requests?
  • [Linux]如何設置靜態IP位址?
  • LangChain 源码剖析(七)RunnableBindingBase 深度剖析:给 Runnable“穿衣服“ 的装饰器架构
  • Vuex 基本概念
  • Java HashMap高频面试题深度解析
  • Redis高频面试题:利用I/O多路复用实现高并发
  • 在java后端项目中,controller、dal、service的作用是什么?
  • 从 0 安装 Label Studio:搭建可后台运行的数据标注平台(systemd 实践
  • 微服务项目总结
  • 【c++】中也有floor函数吗?他与JavaScript中的floor有啥区别?
  • 【iOS】消息传递和消息转发
  • Ubuntu系统下快速体验iperf3工具(网络性能测试)