(原创)vue传参之通过Vue属性$route的params传参

news/2024/5/19 5:15:54 标签: javascript

vue传值 与 vue传参是两块东西

概念图

image.png

原理

vue传参的原理主要在于 Vue.$route.params (也有 $route.query)

$route是Vue的属性,params是$route的属性,用来储存数据的键值对(对象形式,{key:value}),储存很多属性(键值对,属性,属性值)在里面.

清单:

通过浏览器插件vue devtools(vue 开发者工具插件)可以看的到$route属性内部的具体数据:
image.png

$route.params,**可以说于$route是一个中间容器**,用来容纳参数,是键值对的方式,这样在这个页面执行动作传递参数到$route.params,在另外一个页面就能从$route.params里拿参数,就这么回事.

在路由里定义

//router >> index.js
{
        path: '/Page9/:abc/:cde',
        name: 'Page9',
        component: Page9
    }

意思就是我要往 Vue.$route.params里储存属性"abc"和"cde",它们是作为属性名,键名key,

而属性值则由点击路由后触发路径的变化来决定具体的值.要传输什么就写什么,比如

//App.vue
<router-link to="/Page9/gigi/lkjdk7338">
          点击就跳转到page9,并同时传参到Vue.$route.params
</router-link>
//Page9.vue
<template>
    <div class="page1">
        <h1>{{ msg }}</h1>
        <p>{{this.$route.params}}</p>
        <h3 @click="nsj">拿数据</h3>
    </div>
</template>

<script>
    export default{
        name:'Page9',
        data(){
            return{
                msg:'I am Page9.vue'
            }
        },
        methods:{
            nsj(){
                this.msg = this.$route.params.asd
            }
        }
        
    }
</script>

意思是最后Vue.$route.params会储存{"abc" : "gigi" ,"cde" : "lkjdk7338"}
image.png

或者用编程路由的写法,在脚本js里写要传的参:
html:

<p><button @click="sj1">点击就跳转到page9,并同时传参到</button></p>

js:

sj1() {
                this.$router.push({
                    path: '/Page9',
                    name: 'Page9',
                    params: {
                        abc: this.mydata,
                        cde: 'dlj'
                    }
                })

意思是是最后Vue.$route.params会储存{"abc" : this.mydata这个数据 ,"cde" : ''dlj''}

如何拿值:
这就很简单了:
直接从Vue.$route.params里拿就行了
{{ $route.params.abc }} --> "gigi" 或者 this.mydata具体的值

{{ $route.params.abc }} --> " lkjdk7338 "


http://www.niftyadmin.cn/n/835742.html

相关文章

机器学习入门-线性回归算法(原理)

数据&#xff1a;工资和年龄&#xff08;2个特征&#xff09; 目标&#xff1a;预测银行会贷款多少钱(标签) 考虑&#xff1a; 工资和年龄影响银行贷款&#xff0c;它们各自的影响大小&#xff08;参数&#xff09; x1&#xff0c; x2 表示的是两个特征&#xff08;年龄&#x…

Tornado写简易服务器

文章来源&#xff1a;http://blog.csdn.net/ACdreamers/article/details/24668551 我们都知道在Web开发中&#xff0c;都需要服务器&#xff0c;比如Java Web开发的Tomcat&#xff0c;WebLogic&#xff0c;WebSphere&#xff0c;现在来看利 用Tornado Web Server框架如何写一个…

C++ 转型

1、const_static的使用场景&#xff1a;接收一个const对象&#xff0c;但是想改变对象内容&#xff0c;使用const_static去除对象的常量性&#xff0c;然后可以修改对象。 2、dynamic_static的使用场景&#xff1a;从子类向父类转化符合里氏代换&#xff0c;总是安全的。因此dy…

python字符串反转 高阶函数 @property与sorted(八)

(1)字符串反转 1倒序输出 s abcde print(s[::-1]) #输出: edcba 2 列表reverse()操作 s abcde lt list(s) lt.reverse() print(.join(lt)) #输出: edcba 3 二分法交换位置 s abcde lt list(s) for i in range(len(l) // 2):lt[i], lt[-(i1)] lt[-(i1)], lt[i] print(.joi…

《黑马头条》SpringBoot+SpringCloud+ Nacos等企业级微服务架构项目

环境搭建、SpringCloud微服务(注册发现、服务调用、网关) 1)课程对比 2)项目概述 2.1)能让你收获什么 2.2)项目课程大纲 2.3)项目概述 随着智能手机的普及&#xff0c;人们更加习惯于通过手机来看新闻。由于生活节奏的加快&#xff0c;很多人只能利用碎片时间来获取信息&#x…

通过maven-shade-plugin 解决Elasticsearch与hbase的jar包冲突问题

http://blog.csdn.net/sunshine920103/article/details/51659936 今天在项目中集成hbase1.0.0-cdh5.5.2和ElasticSearch2.2.0时出现了问题,原先在集成Hbase时&#xff0c;引入了架包com.google.guava(16.0版本)&#xff0c;后来在集成ES时发现es中也用到了guava的18.0版本。这时…

Hive 安装操作

本篇为安装篇较简单&#xff1a;前提&#xff1a;1: 安装了hadoop-1.0.4&#xff08;1.0.3也可以&#xff09;正常运行2:安装了hbase-0.94.3, 正常运行接下来&#xff0c;安装Hive&#xff0c;基于已经安装好的hadoop&#xff0c;步骤如下&#xff1a;1&#xff1a;下载从http:…

Tomcat服务器 Tomcat应用案例 、 Varnish代理服务器

案例1&#xff1a;安装部署Tomcat服务器案例2&#xff1a;使用Tomcat部署虚拟主机案例3&#xff1a;使用Varnish加速Web1 案例1&#xff1a;安装部署Tomcat服务器1.1 问题 本案例要求部署Tomcat服务器&#xff0c;具体要求如下&#xff1a;安装部署JDK基础环境安装部署Tomcat服…