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

江西网站建设公司费用建设网站的公司济南兴田德润o简介图片

江西网站建设公司费用,建设网站的公司济南兴田德润o简介图片,信阳市住房和城乡建设厅网站,晋江网站建设公司路由导航有两种方式&#xff0c;分别是&#xff1a;声明式导航 和 编程式导航 参数分为query参数和params参数两种 声明式导航 query参数 一、路径字符串拼接(不推荐) 1.传参 在路由路径后直接拼接?参数名:参数值 &#xff0c;多组参数间使用&分隔。 <RouterLink …

路由导航有两种方式,分别是:声明式导航 和 编程式导航
参数分为query参数和params参数两种

声明式导航

query参数

一、路径字符串拼接(不推荐)

1.传参

在路由路径后直接拼接?参数名:参数值 ,多组参数间使用&分隔。

<RouterLink to="/path/path1?name=田本初&age=23"></RouterLink>

如果参数值为变量,需要使用模版字符串。

let str = "田本初"
<RouterLink :to=`"/path/path1?name=${str}&age=23"`></RouterLink>

2.接收与使用

// 接收
import { useRoute } from "vue-router"
const route = useRoute()// 使用
<div>{{ route.query.name }}</div>
<div>{{ route.query.age }}</div>

二、to传对象写法(推荐)

1.传参

to不再传递字符,而是传一个对象,由于参数为对象,所以to前需要加上:

<RouterLink :to="{ path: "/path/path1",query: {name: "田本初",age: 23}
}"/>

2.接收与使用

// 接收
import { useRoute } from "vue-router"
const route = useRoute()// 使用
<div>{{ route.query.name }}</div>
<div>{{ route.query.age }}</div>

同拼接字符串的使用方式

params参数

params参数,需要在路由规则中提前声明参数名,参数名前不要丢失冒号 。

这里给 路由/path/path1 添加了name和age参数,由于age后添加了问号,所以age为可传参数,否则未传age会报错。

{path:"/path",component: Comp1children:[{ path:'path1/:name/:age?',component: Comp2 }]
}

一、路径字符串拼接(不推荐)

1.传参

在路由路径后直接拼接/参数值

<RouterLink to="/path/path1/田本初/23"></RouterLink>

参数值如果是变量,使用模版字符串

let str = "田本初"
<RouterLink :to=`"/path/path1/${str}/23"`></RouterLink>

2.接收与使用

// 接收
import { useRoute } from "vue-router"
const route = useRoute()// 使用
<div>{{ route.params.name }}</div>
<div>{{ route.params.age }}</div>

二、to传对象写法(推荐)

1.传参

to不再传递字符,而是传一个对象,由于参数为对象,所以to前需要加上冒号

如果使用path,会报警告 ,译为如果写path会被忽略,请使用name。

<RouterLink :to="{ path: "/path/path1",params: {name: "田本初",age: 23}
}"/>

在这里插入图片描述

正确写法:路径使用name,注意name需保持与路由规则中的一致。

// 路由规则配置
{path:"/path",component: Comp1children:[{ name:'path1Name',path:'path1/:name/:age',component: Comp2 }]
}// 传参
<RouterLink :to="{ name: "path1Name",params: {name: "田本初",age: 23}
}"/>

注意:params参数不能传数组或对象,否则会报警告。

2.接收与使用

// 接收
import { useRoute } from "vue-router"
const route = useRoute()// 使用
<div>{{ route.params.name }}</div>
<div>{{ route.params.age }}</div>

编程式导航(推荐使用)

以上 <RouterLink> 标签的写法是声明式导航,但是开发中编程式导航更常用

不同于声明式导航,编程式导航是函数形式,相比于声明式导航的标签,更加灵活。

语法:
引入useRouter,router有两种方式,分别为push和replace,push会保留历史记录,replace不会保留历史记录,参数对象与声明式导航的对象写法一致。

import { useRouter } from "vue-router"
const router = useRouter()function hanlder() {router.push({name:'xxx',query:{ name:'田本初', age:23}})
}

如何简化参数使用

方法一: 解构 配合 toRefs

如果解构使用query/params对象,由于是直接从响应式数据中解构,变量会丢失响应式,需要使用toRefs。

// 接收
import { useRoute } from "vue-router"
import { toRefs } from "vue"
const route = useRoute()
const { query } = toRefs(route)// 使用
<div>{{ query.name }}</div>

方法二:路由的props配置

方式一:将路由收到的所有params参数作为props传给路由组件

路由规则中添加 props:true

// 路由规则配置
{ path:'/path/path1/:name/:age', component: Comp2, props: true }

使用参数时,defineProps([‘name’,‘age’])

defineProps(['name','age'])<div>{{ name }}</div>
<div>{{ age }}</div>

方式二:方式一只能处理params参数,如果想处理query参数,需要写成函数形式

路由规则中添加props函数

// 路由规则配置
{ path:'/path/path1/:name/:age', component: Comp2, props(route){return route.query} 
}

使用参数时,defineProps([‘name’,‘age’])

defineProps(['name','age'])<div>{{ name }}</div>
<div>{{ age }}</div>

总结

  • 路由导航分为声明式导航和编程式导航,声明式导航就是<RouterLink>标签,编程式导航就是函数形式。
  • 编程式导航有两种方式,push和replace,其中push会保留历史记录(浏览器可回退),replace不会保留历史记录。
  • query参数和params参数均有「拼接字符串写法」和「对象写法」,但更推荐使用to传对象的方式。
  • query拼接字符串在路径后添加 ?参数名=参数值,多组参数间以&分隔。
  • params拼接字符串在路径后直接 /参数值即可,但需要在路由规则中提前声明参数名,格式为path/:参数名,如果为可选参数,在参数名后添加问号
  • 对象写法中,query参数既可以使用path又可以使用name,但是params参数只能使用name
http://www.yayakq.cn/news/593709/

相关文章:

  • 德阳网站优化做公司网站的理念
  • 做网站的毕业答辩ppt实例网站建设有哪些优质公众号
  • 五屏网站建设品牌好唐山设计网站公司
  • 电商网站规划公司注册网站需要什么条件
  • 猪八戒托管赏金做网站网站建设的简介
  • 为解析的域名做网站mcms怎么做网站
  • 因脉网站建设公司怎么呀韩国做化妆品的网站有哪些
  • 整站优化和关键词优化的区别深圳比较好的设计院
  • php网站开发技术课程做网站文章要一篇一篇的写吗
  • 成功英语网站网页查询系统
  • 上海自助建站工具兰州做网站怎么样
  • 嘉兴网站建设wmcn网站建设玖金手指谷哥十一
  • 深圳返利网站开发网络营销企业有哪些公司
  • 网站默认主页设置在那个网站做推广实用
  • 推广做网站怎么样2014网站怎么备案
  • 余杭门户网站郑州企业的网站建设
  • 网站运营做产品需要哪些知识四川展览设计公司
  • 建设部指定发布招标信息网站做防伪的网站
  • 网站空间会过期吗wordpress标签搜索引擎
  • 搬瓦工 建网站做网站图片多大
  • 地方生活门户网站名称wordpress 部署报错
  • 企业网站结构图编程培训机构价格
  • 做外贸比较好用的网站有哪些新乡手机网站建设服务
  • wordpress全文优化设计答案六年级上册
  • 手机如何创网站wordpress如何增加商品
  • 大沥九江网站制作哪个网站可以做试卷
  • 做买东西的网站要多少钱做推广可以上那些网站
  • 自己的网站做怎样的优化调整网页制作软件2023
  • 百度网站权重排名北京的广告公司有哪些
  • 网站建设模块需求如何推广网站平台