路由的query参数 组件之间通过路由传递数据

介绍:

组件之间可以通过路由query参数传递数据

需求:

 路由配置:

复制代码
import Vue from "vue";
import Router from "vue-router";
import Home from "./views/Home.vue";
import aboutone from './views/Aboutone';
import abouttow from './views/Abouttow';
//引入组件 import aboutoneson from
'./views/Aboutoneson'; Vue.use(Router); export default new Router({ routes: [{ // 页面开始就显示的路由 path: "/", name: "home", component: Home, }, { path: "/about", name: "about", component: () => import("./views/About.vue"), children: [{ path: 'aboutone', component: aboutone,
            //子组件配置 children:[ { path:
'aboutoneson', component: aboutoneson, } ] }, { path: 'abouttow', component: abouttow, }, ] } ] });
复制代码

 

 

 父组件 Aboutone 传递数据的组件:

html

复制代码
<template>
    <div class="aboutone">
        <h1>我是Homeone</h1>
        <ul>
            <li v-for="item in abouta" :key="item.id">
                <!-- <router-link :to="`/about/aboutone/aboutoneson?id=${item.name}&name=${item.id}`">{{item.name}}{{item.id}}</router-link> -->
                <!-- 标准对象写法 -->
                <router-link :to="{
                    path:'/about/aboutone/aboutoneson',
             //传递需要的数据 query:{ id:item.id, name:item.name, age:item.age, }
          //显示的文本 }"
>{{item.name}}</router-link> </li> </ul> <hr> <router-view></router-view> </div> </template>
复制代码

js

复制代码
<script>
    export default {
        name: "aboutone",
        data() {
            return {
                abouta: [{
                        name: '张三',
                        id: '001',
                        age: '18'
                    },
                    {
                        name: '李四',
                        id: '002',
                        age: '15'
                    }, {
                        name: '王五',
                        id: '003',
                        age: '25'
                    }, {
                        name: '赵本山',
                        id: '004',
                        age: '41'
                    }, {
                        name: '小学生',
                        id: '005',
                        age: '12'
                    },
                ]
            }
        },
    };
</script>
复制代码

 

子组件 详情页面 Aboutoneson  接收数据的组件:

复制代码
<template>
    <div id="Aboutoneson">
        <h2>详情</h2>
        <p>编号:{{$route.query.id}}</p>
        <p>姓名:{{$route.query.name}}</p>
        <p>年龄:{{$route.query.age}}岁</p>
    </div>
</template>

<script>
    export default{
        mounted() {
            console.log(this.$route);
        }
    }
</script>

<style>
</style>
复制代码

 

 console.log(this.$route);

这是点击赵本山传递过来的数据

 

 

最终效果:

 

posted @   罗砂  阅读(62)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示