vue中params和query

2019-02-14  本文已影响0人  晴空万里_d3c2

基本用法都知道的

params用法 this.$router.push({name:'heollo',params:''})

query用法 this.$router.push({path:'heollo',query:''})

params 在浏览器上只会显示路径,而query不一样,会将传过去的数据显示在地址栏上

适用场景不同:

我做了一个app 比如 在c页面上也想打开c页面,因为是文章内容页,这功能是必须的,

但是,用params时,c页面返回到c页面时,,c页面内容是空白,当然不需要引用数据的基本组件是显的,

所以出了问题,,一开始我是以为在vue上是不允许c页面打开c页面的,返回时所以是空白的

于是借鉴网上的方法,想打开一个新窗口的方式显示另一个c页面下面的方法中

window.open只能用query传参数,params为什么接收不到我也不知道。可能是自己的失误

const { href } = this.$router.resolve({

path: "/HelloWorld",

query:{

type:this.type,

}

});

window.open(href, '_blank');

这功能基本解决了问题,但是,有次要添加一个功能sociket.io聊天,发现打开一个窗口就会和其它窗口发生冲突,其它页面不能收到聊天信息,严重情况浏览器会崩溃,我也不知道为什么会崩溃

前段时间对vue不是很熟悉

所以想到了用query传参,,用query传参不能再query里在包裹一个json,因为可以发现浏览器窗口对于包裹的json显示的是object

用query传参的,c页面打开的c页面,第二个c页面返回到第一个c页面时,,第一个页面会自主向后台发送ajax请求

用parasm返回时不会向后台发送请求

所以,,对于不需要保密数据的,打开要传参的页面时尽量用query

废话太多,意思应该能理解,,因为解决这个问题花费了很多时间

上一篇 下一篇

猜你喜欢

热点阅读