继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

【金秋打卡】第16天-vue3.0实现todolist

max666
关注TA
已关注
手记 21
粉丝 1
获赞 0

第一模块

课程名称:vue3.0实现todolist

章节名称:

  • 4-3 介绍路由传参

讲师姓名:五月的夏天

第二模块

课程内容(概述)

1、讲解如何实现路由传递参数,useRouteruseRoutequeryparams的区别以及如果使用

第三模块

介绍

vue3 中的传参方式和vue2中一样,都可以用query和params传参。对比vue2vue2 中是有this的,vue3是在setup中进行的,且要引入useRouteuseRouter

query传递过来的都是字符串类型,会在地址栏上显示;params传递的参数不会在地址栏中显示,刷新会丢失

query使用pathname都可以,params只能使用name

配置

修改views目录下的About.vue文件

<template>
    <div>
        --------------------------
        About页面--这是query传递的参数:{{ pid }}
        <button type="button" @click="onRet">返回上一页</button>
        --------------------------
    </div>
</template>
<script>
import { defineComponent, ref } from 'vue'
import { useRouter, useRoute } from 'vue-router'
export default defineComponent({
    name: 'About',
    setup() {
        const pid = ref(null)
        // 全局路由对象
        const router = useRouter()
        // 当前路由对象
        const route = useRoute()

        // 接收路由参数pid--query方式
        // pid.value = route.query.pid
        // 接收路由参数pid--params方式
        pid.value = route.params.pid

        const onRet = () => {
            router.back()
        }
        return {
            pid,
            onRet
        }
    }
})
</script>

问题

使用params方式传参报错Discarded invalid param(s) “pid“ when navigating

路由文件需要配置上形参pid

// router/index.js
{
  	path: '/about/:pid',
	name: 'About',
	component: About
}

第四模块

学习截图
图片描述
图片描述

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP