vue 中query和pramas中的那点事

技术vue 中query和pramas中的那点事 vue 中query和pramas中的那点事//$router : 是路由操作对象,只写对象
//$route : 路由信息对象,只读对象
//操作 路

关于vue中查询和pramas的事情

//$router :是路由操作对象,只写对象。

//$route :路由信息对象,只读对象

//操作路线跳转

这个。$ router . push({ 0

姓名: '你好',

参数:{

名称: '单词',

年龄:'11 '

}

})

//读取路由参数接收

这个,名字=这个。$ route . params . name;

这个年龄=这个。$ route . params . age;

查询参数要按路径引入(也可以按名称引入),params参数要按名称引入。

//查询参数,使用名称跳转。

这个。$ router . push({ 0

名称: '秒',

查询: {

queryId:'20180822 ',

queryName:“查询”

}

})

//查询参数,使用路径跳转

这个。$ router . push({ 0

路径: '秒',

查询: {

queryId:'20180822 ',

queryName:“查询”

}

})

//查询参数发送和接收

this.queryName=this。$ route . query . query name;

this.queryId=this。$ route . query . queryid;

2params传递参数

注意:参数只能通过名字来介绍。

//params参数使用名称。

这个。$ router . push({ 0

名称: '秒',

参数: {

id:'20180822 ',

名称:“查询”

}

})

//参数接收参数

this.id=this。$ route . params . id;

这个,名字=这个。$ route . params . name;

//路由

{

path : '/second/: id/: name ',

名称: '秒',

component :()=import(@/view/second)

}

应该指出的是:

Params是路由的一部分,参数名称必须添加在路由之后。查询是在url后拼接的参数。没有也没关系。

一旦在路线中设置了参数,参数就是路线的一部分。如果此路由有params参数,但在跳转过程中没有传递此参数,将导致跳转失败或页面没有内容。

如果路由后面没有/:ID/3360Name地址栏,则没有参数,但如果刷新,会发现页面获取参数失败。

因此,我们不可能阻止用户刷新,所以我们必须在路由后添加/:id/:name。

//params参数使用路径。

这个。$ router . push({ 0

路径: '秒',

参数: {

id:'20180822 ',

名称:“查询”

}

})

//参数接收参数

this.id=this。$ route . params . id;

这个,名字=这个。$ route . params . name;

摘要

参数可以通过参数和查询传递。

使用params参数时,只能使用名称引入路由,即push只能包含name:'xxxx ',不能包含path:'/xxx'/XXX ',因为params只能使用名称引入路由。如果在这里写path,接收参数页将是未定义的!

使用查询参数使用路径引入路线。

Params是路由的一部分,参数名称必须添加在路由之后。查询是在url后拼接的参数。没有也没关系。

这两者有些不同。说白了,查询相当于获取请求。当页面跳转时,可以在地址栏看到请求参数,而params相当于post request,参数不会显示在地址栏。

解决问题:vue通过名称和参数调整页面参数,刷新参数丢失。

导出默认的新路由器({ 0

路线: [

{

路径: '/',

redirect: '/main ',

},{

path: '/main ',

名称: '主',

component :()=import(' @/view/Main '),

儿童: [

{

//path: '/testPage ',//此方法不配置参数名,刷新页面时参数会丢失。

路径: '/test page/: aaa/3360 bbb ',//这样在按名称和参数刷新页面时,参数AAA和BBB不会丢失。

名称: '测试页',

component :()=import(@/view/test page/test page)

},

]

},

]

})

methods: {

//路由调整参数传输测试

gorouttest(){ 0

//这个。$ router . push('/test page ');

这个。$ router . push({ name : ' TestPage ',params: { aaa: ' 111 ',BBB : ' 222 ' });

}

},

如果params用作对象,刷新页面将消失。

解决方案JSON.stringify()方法用于将JavaScript值转换为JSON字符串。然后在组件内部使用JSON,parse()再次转换为对象。或者选择vuex模式来传输组件内容中的值,并通过计算属性获得它们。

路由组件传参

在组件中使用$route会使其与其对应的route高度耦合,使得组件只能在一些特定的URL上使用,限制了其灵活性。

用道具分离组件和路由:而不是用$route耦合

常量用户={ 0

template :“DiV USer { { $ route . params . id } }/DiV”

}

const router=new VueRouter({ 0

routes :[{ path : '/User/: id ',component: User }]

})

常量用户={ 0

prop :[' id '],

template :“DiV USer { { id } }/DiV”

}

const router=new VueRouter({ 0

路线: [

{ path: '/user/:id ',component: User,props: true },

//对于包含命名视图的路线,必须分别为每个命名视图添加道具选项:

{

path: '/user/:id ',

组件: {默认值:用户,侧栏:侧栏},

props: { default: true,sidebar: false }

}

]

})

通过道具解耦如果道具设置为真,route.params将被设置为组件属性。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/81991.html

(0)

相关推荐

  • mysql时间如何转换时间戳

    技术mysql时间如何转换时间戳本篇内容介绍了“mysql时间如何转换时间戳”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成

    攻略 2021年11月26日
  • 如何增加抖音粉丝数量,如何快速增长抖音粉丝?

    技术如何增加抖音粉丝数量,如何快速增长抖音粉丝?抖音快速涨粉方法抖音无疑是目前新媒体里面涨粉最容易,涨粉最快的平台了。前有成都小甜甜一夜涨粉500万,后有灵魂当铺一天涨粉75万。这种涨粉速度在其他平台是想都不敢想象的。不

    测评 2021年11月11日
  • 如何进行asmcmd的分析

    技术如何进行asmcmd的分析如何进行asmcmd的分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。在ASM实例中,所有的存储于ASM磁盘组中的文件对于操

    攻略 2021年11月30日
  • css和html的区别有哪些

    技术css和html的区别有哪些这篇文章主要介绍“css和html的区别有哪些”,在日常操作中,相信很多人在css和html的区别有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”css

    攻略 2021年11月9日
  • css中下划线样式怎么设置长度

    技术css中下划线样式怎么设置长度这篇文章主要介绍“css中下划线样式怎么设置长度”,在日常操作中,相信很多人在css中下划线样式怎么设置长度问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”

    攻略 2021年11月30日
  • 数据库中SQL Server四类典型代码是什么

    技术数据库中SQL Server四类典型代码是什么这篇文章将为大家详细讲解有关数据库中SQL Server四类典型代码是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

    攻略 2021年12月1日