Vue动态路由传值和Get传值

2023-11-08

Vue动态路由:在一个页面获取上一个页面的传值

1:配置动态路由步骤:

const routes = [

//(main.js文件中)

              { path: '/Content/:aid', component: Content }//动态路径参数以冒号开头

            ]

在上一个页面中配置<router-link :to="'/Content/'+key">{{key}}---{{item}}</router-link>

2:在对应的页面

this.$route.params获取动态路由的值

代码示例:

//main.js
import Vue from 'vue'
import App from './App.vue'
import VueResource from 'vue-resource'
import VueRouter from 'vue-router'
import Home from './components/Home'
import News from './components/News'
import Content from './components/Content'
import Product from './components/Product'

/*定义路由 */
const routes = [
                { path: '/', component: Home },
                { path: '/Home', component: Home },
                { path: '/News', component: News },
                { path: '/Product', component: Product },//get传值
                { path: '/Content/:aid', component: Content }//动态路由
               
              ]
  // 实例化路由
  const router = new VueRouter({
    routes // (缩写)相当于 routes: routes
  })
Vue.use(VueRouter)
Vue.use(VueResource)

new Vue({
  el: '#app',
  // 将路由实例挂载到vue实例上
  router,
  render: h => h(App)
})

传值页面:

<template>
    <div>
        <h1>这是新闻组件</h1>
       <ul>
           <li v-for="(item,key) in list" :key="key">
                    //:to="''+key"标识动态绑定key的值
               <router-link :to="'/Content/'+key">{{key}}---{{item}}</router-link>
           </li>
       </ul>
    </div>
</template>
<script>

export default {
    data(){
       return{
            aaa:'m,sh',
            list:['你好','这是新文艺','这是新思想']
       }
    }
  
}
</script>

<style lang="scss" scoped>
h1{
    color: skyblue;
}
</style>

获取值的页面:

<template>
    <div id="content">
        <h1>我是详情页面</h1>

    </div>
</template>
<script>
export default {
    data(){
        return{
            
        }
    },
    mounted(){
        console.log(this.$route.params)/* 获取动态路由传值 */
    }
}
</script>
<style lang="scss" scoped>

</style>

Get传值:

//传值页面
<template>
    <div>
        <br>
        <h2>这是一个首页组件</h2>
        <hr>
        <ul>
            <li v-for="(item,key) in list" :key="key">
                <router-link :to="'/Product/?id='+key">{{key}}---{{item}}</router-link>

            </li>
        </ul>


    </div>
</template>
<script>
import Bus from '../model/bus'
export default {
    data(){
        return{
            msg:'Yes, a first Page!',
            title:'我是的数据NO.1',
            list:['商品已','商品丁','商品家']
        }
    }
}
</script>
<style lang="scss" scoped>
h2{
    color: red;
}
</style>

获取值的页面:

<template>
    <div id="product">
        <h1>商品详情</h1>
        
    </div>
</template>
<script>
export default {
    data(){
        return{

        }
    },
    mounted(){
        /* this.$route.query用于获取get传值 */
        console.log(this.$route.query)
    }
}
</script>

main.js页面:

/*定义路由 */
const routes = [
                { path: '/', component: Home },
                { path: '/Home', component: Home },
                { path: '/News', component: News },
                { path: '/Product', component: Product },//get传值
                { path: '/Content/:aid', component: Content }//动态路由
               
              ]

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Vue动态路由传值和Get传值 的相关文章

  • vue+C#后台上传excel处理数据

    比较简洁的excel处理方法 希望对大家有所帮助 1 界面
  • vue:实现锚点双向滚动/文章章节联动滚动效果

    文章目录 需求描述 实现思路 示例代码 参考网址 需求描述 需要实现类似doc中文档大纲的效果 点击对应章节的名称时定位到相应的正文 而当正文滚动时 高亮显示对应的章节名称 实现思路 其实笔者一开始想到的是利用a标签页内跳转 也就是 锚点
  • Vue js引用警告 “export ‘default‘ (imported as ‘xxx‘) was not found

    问题原因 ES6 编译器识别问题 如果在public js这样写会有警告export default imported as xxx was not found export const myMixin 解决办法 修改组件中引用js的地方
  • Vue 组件化

    什么是组件化 任何一个人处理信息的逻辑能力都是有限的 所以 当面对一个非常复杂的问题时 我们不太可能一次性搞定一大堆的内容 但是 我们人有一种天生的能力 就是将问题进行拆解 如果将一个复杂的问题 拆分成很多个可以处理的小问题 再将其放在整体
  • 值得收藏的UmiJS 教程

    点击上方关注 前端技术江湖 一起学习 天天进步 前言 网上的umi教程是真的少 很多人都只写了一点点 很多水文 所以打算自己写一篇 自己搭建umi 并封装了一下常用的功能 并用到公司实际项目中 umi介绍 Umi 是什么 Umi 中文可发音
  • vue 表格表头内容居中

    放入
  • Vue3中的pinia使用(收藏版)

    1 pinia介绍 个人网站 紫陌 笔记分享网 想寻找共同学习交流 共同成长的伙伴 请点击 前端学习交流群 pinia 是 Vue 的存储库 它允许您跨组件 页面共享状态 就是和vuex一样的实现数据共享 依据Pinia官方文档 Pinia
  • vue 子父组件间的那些事儿——搭建项目(一)

    一 搭建vue项目 1 环境准备 基于nodejs vue cli cnpm 搭建vue项目 由于本博主已经具备以上环境 现在直接进行项目搭建 环境准备可参考这篇博客 https blog csdn net xcymorningsun ar
  • Vue-cli3更改项目logo图标

    1 图标切成对应大小 2 图标名称后缀与vue原有图标logo名称 后缀一致 favicon ico 并替换 3 vue项目根目录下 新建 vue config js 添加下列代码 module exports pwa iconPaths
  • vue项目使用视频播放器vue-video-player

    安装使用 插件有版本限制 如果项目使用的是vue2 0版本 请选择安装 4 x版本 否则会安装不成功 yarn add vue video palyer save 或者 npm install vue video palyer save 组
  • 前端的工程化、模块化和组件化

    什么是工程化 工程化是一种思想而不是某种特定的技术 当然我们在实现项目工程化的过程中 我们也会去使用一些技术 前端工程化是使用软件工程的技术和方法来对前端的开发流程 技术 工具等进行规范化 标准化 其主要目的为了提高效率和降低成本 即提高开
  • 【vue3】elementplus日期组件英文转中文

    vue3 elementplus日期组件英文转中文 1 在main js或者main ts中加入 即可解决 import ElementPlus from element plus import element plus dist inde
  • 大事件项目07----10,11,12未录

    1 如果三方jar包对应的对象 2 来自第三方 是无法用 Component及衍生注解生命bean的 3 使用Maven命令 引入jar包 4 这里我们准备了jar包 也提前准备好了jar包的脚本 5 通过本地的方式来安装maven的坐标
  • 基于vue2+海康威视web开发包3.2 无插件版本开发的监控系统

    文章目录 前言 一 插件准备 二 使用步骤 前言 项目最终效果为 可以预览 并且可以使用云台控制 购买的海康威视摄像头必须可以开启websocket 一 插件准备 插件下载地址 下载WEB无插件开发包V3 2 并加入到vue项目中 下载后解
  • 【vue】$bus 跨组件调用方法

    1 新建bus js import Vue from vue 使用 Event Bus const bus new Vue export default bus 2 main js引用 import bus from libs bus Vu
  • 【vue】$bus 跨组件调用方法

    1 新建bus js import Vue from vue 使用 Event Bus const bus new Vue export default bus 2 main js引用 import bus from libs bus Vu
  • 拓展:vue 父组件调用子组件方法ref(且父组件可通过ref调用的方法传值给子组件)

    1 ref被用来给元素或子组件注册引用信息 引用信息将会注册在父组件的 refs对象上 一 ref被用来给元素或子组件注册引用信息 引用信息将会注册在父组件的 refs对象上 div class formBtn fl 111 div div
  • vue项目日期处理day.js

    dayjs安装 1 npm 安装 npm install dayjs save 2 项目使用 import dayjs from dayjs ES 2015 dayjs format 使用介绍 1 秒 获取或设置秒 接受0到59的数字 如果
  • (vue)el-popover鼠标移入提示效果

    vue el popover鼠标移入提示效果 效果 代码
  • 基于springboot+vue实现位置的多分馆图书馆推荐系统演示【附项目源码+论文说明】

    基于springboot实现位置的多分馆图书馆推荐系统演示 摘要 时代的变化速度实在超出人类的所料 21世纪 计算机已经发展到各行各业 各个地区 它的载体媒介 计算机 大众称之为的电脑 是一种特高速的科学仪器 比人类的脑袋要灵光无数倍 什么

随机推荐