首页 > 其他分享 >vue--day83---路由的params参数

vue--day83---路由的params参数

时间:2023-09-11 23:44:06浏览次数:35  
标签:vue name title -- component --- params pages

1. 配置路由,声明接收params参数

 

   ```js

   {

   path:'/home',

   component:Home,

   children:[

   {

   path:'news',

   component:News

   },

   {

   component:Message,

   children:[

   {

   name:'xiangqing',

   path:'detail/:id/:title', //使用占位符声明接收params参数

   component:Detail

   }

   ]

   }

   ]

   }

   ```

 

2. 传递参数

 

   ```vue

   <!-- 跳转并携带params参数,to的字符串写法 -->

   <router-link :to="/home/message/detail/666/你好">跳转</router-link>

   

   <!-- 跳转并携带params参数,to的对象写法 -->

   <router-link 

   :to="{

   name:'xiangqing',

   params:{

      id:666,

               title:'你好'

   }

   }"

   >跳转</router-link>

   ```

 

   > 特别注意:路由携带params参数时,若使用to的对象写法,则不能使用path配置项,必须使用name配置!

 

3. 接收参数:

 

   ```js

   $route.params.id

   $route.params.title

   ```

1.App.vue

<template> <div> <Banner></Banner> <div class="row"> <div class="col-xs-2 col-xs-offset-2"> <div class="list-group">
<!--原始html 中我们使用a 标签 实现页面的跳转--> <!-- <a class="list-group-item active" href="./about.html">About</a> <a class="list-group-item" href="./home.html">Home</a> -->
<!--VUE 中借助router-link 标签实现路由的切换--> <router-link class="list-group-item" active-class="active" :to="{name:'guanyu'}">About</router-link> <router-link class="list-group-item" active-class="active" to="/home">Home</router-link>
</div> </div> <div class="col-xs-6"> <div class="panel"> <div class="panel-body"> <!-- 指定组件的呈现位置--> <!-- <h2>此处到底展示什么组件,得看用户点击哪个导航项</h2> --> <!-- <router-view></router-view> --> <router-view></router-view>
</div> </div> </div> </div> </div>     </template>   <script> import Banner from './components/Banner.vue' export default { name: 'App', components:{ Banner }   }
</script>
      2. pages/Home.vue <template>  
<div class="col-xs-6"> <div class="panel"> <div class="panel-body"> <div> <h2>Home组件内容</h2> <div> <ul class="nav nav-tabs"> <li> <router-link class="list-group-item " active-class="active" to="/home/news">News</router-link> </li> <li> <router-link class="list-group-item " active-class="active" to="/home/message">Message</router-link> </li> </ul>   <router-view></router-view> </div> </div> </div> </div> </div>     </template>
<script> export default { name:'Home', beforeDestroy(){ console.log("home组件即将被销毁了"); }, mounted(){ console.log("home组件挂载完毕了",this); window.homeRoute=this.$route; window.homeRouter=this.$router; } } </script>
<style>
</style> 3. pages/About.vue <template>  
<h2>我是About的内容</h2>     </template>
<script> export default { name:'About', beforeDestroy(){ console.log("about组件即将被销毁了"); }, mounted(){ console.log("about组件挂载完毕了",this); window.aboutRoute=this.$route; window.aboutRouter=this.$router; } } </script>
<style>
</style> 4. pages/News.vue <template> <ul> <li>news001</li> <li>news002</li> <li>news003</li> </ul> </template>
<script> export default { name:'News'
} </script>
<style>
</style> 5. pages/Message.vue <template> <div> <ul v-for="m in messageList" :key="m.id"> <li> <!--跳转 路由 并且携带query 参数 to 的字符串写法--> <!-- <router-link :to="`/home/message/detail?id=${m.id}&title=${m.title}`">{{ m.title }}</router-link>&nbsp;&nbsp; -->   <!--跳转 路由 并且携带params 参数 to 的字符串写法--> <!-- <router-link :to="`/home/message/detail/${m.id}/${m.title}`">{{ m.title }} </router-link>&nbsp;&nbsp; -->

<!--跳转 路由 并且携带query 参数 to 的对象写法--> <!-- <router-link :to="{ name:'xiangqing', // path:'/home/message/detail', query:{ id:m.id, title:m.title } }"> {{ m.title }} </router-link> -->

<!--跳转 路由 并且携带query 参数 to 的对象写法--> <router-link :to="{ name:'xiangqing', // path:'/home/message/detail', params:{ id:m.id, title:m.title } }"> {{ m.title }} </router-link> </li> </ul>
<hr>
<router-view></router-view> </div> </template>
<script> export default { name:'Message', data(){ return{ messageList:[ {id:'001',title:'消息001'}, {id:'002',title:'消息002'}, {id:'003',title:'消息003'}, ] } } } </script>
<style>
</style> 6.pages/Detail.vue <template> <ul> <li>消息id:{{ $route.params.id }}</li> <li>消息标题:{{ $route.params.title }}</li>
</ul> </template>
<script> export default { name:'Detail', mounted(){   console.log('detail组件挂载完毕',this.$route);   } } </script>
<style>
</style> 8. router/index.js //该文件专门用于创建整个应用的路由器 import VueRouter from "vue-router" import About from '../pages/About' import Home from '../pages/Home' import News from '../pages/News' import Message from '../pages/Message' import Detail from '../pages/Detail' // 创建并且暴露一个路由器 export default new VueRouter({ routes:[ { name:'guanyu', path:'/about', component:About }, { path:'/home', component:Home, children:[ { path:'news', component:News,
},
{   path:'message', component:Message, children:[ { name:'xiangqing', path:'detail/:id/:title', component:Detail, }  
]
},   ] },
] })

 

 

 

 

 

 

 

标签:vue,name,title,--,component,---,params,pages
From: https://www.cnblogs.com/satisfysmy/p/17694901.html

相关文章

  • 通过FPGA实现基于RS232串口的指令发送并控制显示器中目标位置
    1.算法理论概述       通过FPGA实现基于RS232串口的指令发送并控制显示器中目标位置是一种常见的应用场景,用于实现对显示器中目标位置的控制。该系统利用FPGA芯片作为主控制器,通过RS232串口与计算机或其他设备进行通信,接收指令并解析,然后控制显示器中目标位置的移动。该......
  • ubuntu22.04在线安装.net6SDK
    运行以下命令,查找下载对应包文件sudoaptupdate&&sudoaptinstalldotnet6如果只想安装部分组件,命令如下://仅安装特定组件sudoaptinstalldotnet-sdk-6.0sudoaptinstalldotnet-runtime-6.Osudoaptinstallaspnetcore-runtime-6.0 但是运行命令后......
  • abc271e Subsequence Path
    E-SubsequencePath第一眼看过去感觉又是什么魔改BFS的样子,但是感觉不好弄但是往dp上想就很容易\(f[i]\)表示走到i的最小代价,按着给出的序列顺序转移即可,转移是O(1)的。代码非常简单#include<cstdio>#include<algorithm>#definefo(i,a,b)for(int(i)=(a);(i)<=(b);(i)......
  • python中字符串内置函数find和index
     001、find>>>str1="xyabmnabkj"##测试字符串>>>foriinenumerate(str1):...print(i)##列出每个字符的索引...(0,'x')(1,'y')(2,'a')(3,'b')(4,'m'......
  • c语言之memset的初次小练
    //memset--memoryset内存设置//memset(void*ptr,intvalue,size_tnum);//翻译过来就是memset(一个地址,一个你想要将地址中的原有值改为该值,该地址中从左往右的原有的值的数)#include<stdio.h>#include<string.h>intmain(){ chararr[]="helloworld"; memset(arr,......
  • Cisco OSPF 虚链路
    intloopback0开启回环ip地址功能area0virtual-link1.1.1.1区域的路由器指向虚电路给他去不了的区域路由回环地址route-id给他命名回环地址......
  • m基于Faster R-CNN网络的烟雾检测系统matlab仿真,带GUI操作界面
    1.算法仿真效果matlab2022a仿真结果如下:2.算法涉及理论知识概要经过R-CNN和FastRCNN的积淀,RossB.Girshick在2016年提出了新的FasterRCNN,在结构上,FasterRCNN已经将特征抽取(featureextraction),proposal提取,boundingboxregression(rectrefine),classification都整合在了......
  • 9月创业者颐和园小聚花絮
    提示:10月份的奥森徒步走活动开始了!这次的颐和园小聚收获了满满的友谊,好几位朋友都说希望我们经常举办这样的小活动,下次还要来参加。这次的话题非常的广泛。真是让我们又增长了很多见识。下面是让我最印象深刻的探讨话题:“我有一个微信多实名认证的方法,给你们分享下?这件事还没人知......
  • 升序判断
    #include<stdio.h>intcharge(intp[],intn){ intm=0;  if(m==n-1) return0; else{ if(p[m]<p[m+1]){  m=m+1;  returncharge(p,n); }else  return1; }}intmain(){ inta[100],i,j; gets(a); j=charge(a,i......
  • m基于Faster R-CNN网络的烟雾检测系统matlab仿真,带GUI操作界面
    1.算法仿真效果matlab2022a仿真结果如下:   2.算法涉及理论知识概要       经过R-CNN和FastRCNN的积淀,RossB.Girshick在2016年提出了新的FasterRCNN,在结构上,FasterRCNN已经将特征抽取(featureextraction),proposal提取,boundingboxregression(rectrefine......