您的位置:首页 > 财经 > 金融 > 昌乐网站设计_长沙seo网络公司_营销策划方案怎么写_网站托管维护

昌乐网站设计_长沙seo网络公司_营销策划方案怎么写_网站托管维护

2024/11/15 20:05:12 来源:https://blog.csdn.net/qq_63432403/article/details/142905630  浏览:    关键词:昌乐网站设计_长沙seo网络公司_营销策划方案怎么写_网站托管维护
昌乐网站设计_长沙seo网络公司_营销策划方案怎么写_网站托管维护

嵌套路由

编写News的子路由:Detail.vue

<template><div><h1>新闻的详情</h1><p>新闻的id是:xxx</p><p>新闻的标题是:xxx</p><p>新闻的内容是:xxx</p></div>
</template><script lang="ts" setup name="Detail">
import { useRoute } from 'vue-router';</script>

配置路由规则,使用children配置项

// 创建一个路由器,并暴露出去// 第一步:引入vue-router
import { createRouter, createWebHistory } from 'vue-router'// 引入可能要呈现的组件
import Home from '@/pages/Home.vue'
import About from '@/pages/About.vue'
import News from '@/pages/News.vue'
import Detail from '@/pages/Detail.vue'
// 创建路由器
const router = createRouter({history: createWebHistory(), // 路由器的工作模式routes:[{name:'jia',path: '/home',component:Home},{path: '/news',component:News,children:[{path:'detail',component:Detail}]},{path: '/about',component:About}]
});// 暴露出去 router
export default router

跳转路由(要加完整路径):

<router-link to="/news/detail">xxxx</router-link>
<!-- 或 -->
<router-link :to="{path:'/news/detail'}">xxxx</router-link>

路由传参

query参数

传参数:

<!-- 跳转并携带query参数(to的字符串写法) -->
<router-link to="/news/detail?id=1&title=文章&content=欢迎你">
跳转
</router-link>

组件中的跳转:

<!-- 跳转并携带query参数(to的对象写法) -->
<RouterLink
:to="{
//name:'xiang', //用name也可以跳转
path:'/news/detail',
query:{
id:news.id,
title:news.title,
content:news.content
}
}"
>
{{news.title}}
</RouterLink>

接收参数:

import {useRoute} from 'vue-router'
const route = useRoute()
// 打印query参数
console.log(route.query)

params参数

传递参数:

<!-- 跳转并携带params参数(to的字符串写法) -->
<RouterLink :to="`/news/detail/001/新闻001/内容001`">{{news.title}}
</RouterLink>
<!-- 跳转并携带params参数(to的对象写法) -->
<RouterLink
:to="{
name:'xiang', //用name跳转
params:{
id:news.id,
title:news.title,
content:news.title
}
}"
>
{{news.title}}
</RouterLink>

接收参数:

import {useRoute} from 'vue-router'
const route = useRoute()
// 打印params参数
console.log(route.params)

传递 params 参数时,若使用 to 的对象写法,必须使用 name 配置项,不能用 path 。

传递 params 参数时,需要提前在规则中占位。

路由的props配置

{
name:'xiang',
path:'detail/:id/:title/:content',
component:Detail,
// props的对象写法,作用:把对象中的每一组key-value作为props传给Detail组件
// props:{a:1,b:2,c:3},
// props的布尔值写法,作用:把收到了每一组params参数,作为props传给Detail组件
// props:true
// props的函数写法,作用:把返回的对象中每一组key-value作为props传给Detail组件
props(route){
return route.query
}
}

replace属性

作用:控制路由跳转时操作浏览器历史记录的模式。

浏览器的历史记录有两种写入方式,分别为 push 和 replace :

  • push 是追加历史记录(默认值)。
  • replace 是替换当前记录。
<RouterLink replace .......>News</RouterLink>

编程式导航

路由组件的两个重要的属性: $route 和 $router 变成了两个 hooks。

this.$router.push({name: '路由名字',query: {参数名1: '参数值1',参数名2: '参数值2'}
})

重定向

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com