当前位置:首页 > wifi设置知识 > 正文内容

vue的路由带参数跳转

秋天2023年03月20日 16:06:09wifi设置知识315

如果您是路由器的新手用户,本文vue的路由带参数跳转将为您提供适用于不同品牌和型号的路由器设置方法和技巧。

本文内容目录一览:

vue 路由四种方式 (带参数)跳转

replace和push区别:

router.push(location) 会向 history 栈添加一个新的记录,当用户点击浏览器后退按钮时,则回到之前的 URL。

router.replace(location) ,replace 属性(默认值: false),它不会向 history 添加新记录,而是跟它的方法名一样 —— 替换掉当前的 history 记录。

注意:获取路由上面的参数,用的是$route,后面没有r

params是路由的一部分,必须要有。query是拼接在url后面的参数,没有也没关系。

params一旦设置在路由,params就是路由的一部分,如果这个路由有params传参,但是在跳转的时候没有传这个参数,会导致跳转失败或者页面会没有内容。

params、query不设置也可以传参,但是params不设置的时候,刷新页面或者返回参数会丢失。

两者都可以传递参数,区别是什么?

query 传参配置的是path,而params传参配置的是name,在params中配置path无效

query在路由配置不需要设置参数,而params必须设置

query传递的参数会显示在地址栏中

params传参刷新会无效,但是query会保存传递过来的值,刷新不变

vue路由跳转

1.router link to=""/    可以接收一个url 如'/home'   ,也可以接收一个对象 {name:'home'}   {path:'/home'}

2.this.$router.push()   也可以接收一个url  ’/home‘    ,也可以接收以一个对象,并配置参数,

可以使用query配置需要携带的参数,需要使用path引入query,如果使用query配置参数,则会在地址栏中显示参数,传值方式类似于get,页面刷新参数不会消失

{path:'/home',query:{

    id:this.id

    }

}

也可以使用params配置需要携带的参数,需要使用name引入params,如果使用params配置参数,不会在地址栏中显示参数,传值方式类似于post,页面刷新参数会消失

{name:'home',params:{

            id:this.id

    }

}

传参方式也可以使用动态路由 this.$router.push('/detail/'+id)

3.this.$router.replace() 使用方式同this.$router.push()   

replace会覆盖前一个路由,push是在前一个路由后面添加一个路由,区别在于回退时,push会回退到上一个路由,replace因为覆盖了上一个路由,则会回到至上上个路由

vue之路由传参,跳转,钩子函数

一.路由传参的三种方式

方式一:query的方式进行,通过添加?的方式传参

App页面配置:

childa页面配置:

方式二:通过id的方式传参,用到params

App页面配置:

childb页面配置:

index.js配置:

方式三:通过props:['id']的方式进行id方式的传参,不需要用到params

app页面配置和上面id一样

childb页面配置:

index.js页面:

二.路由的跳转

1.使用push的两种方式进行跳转指定页面

2.添加一级路由:

(1)写一个按钮,然后写个方法,执行方法后进行路由的添加

(2)写好要跳转的页面

3.添加二级路由:

(1)写一个按钮,然后写个方法,执行方法后进行路由的添加

(2)写好要跳转的页面

三,路由的钩子函数(全局和局部)在router的index.js里配置

1.全局路由守卫,每次路由跳转都会执行一遍

router.beforeEach((to,from,next)={

next()//这个必须写

})

to:表示要去的路由,from:表示之前的路由,next:必须要执行的函数,next表示跳转方法

2.监听全局路由离开时触发的钩子函数

没有next()

router.afterEach((to,from)={

})

3.局部路由钩子函数

局部的路由钩子进入路由的时候触发

因为同一个路径参数不同或者是动态路由,不会触发beforeEnter

beforeEnter:(to,from,next)={

next()}

Vue Router路由传参三种方法及区别

1、第一种方法:拼接方式:

methods:{

handleClick(id) {//直接调用$router.push 实现携带参数的跳转

 this.$router.push({path: `/detail/${id}`,})

}

对应路由配置:

{

path:'/detail/:id',

name:'detail',

component: detail

} 获取参数方式: this.$route.params.id

2、第二种方法:params传参 (通过路由属性中的name来确定匹配的路由,通过params来传递参数。)

methods:{

handleClick(id) {

this.$router.push({name:'detail', // 根据name确定匹配路由params: {id: id}})

}

//或者采用router-link前往Detail页面

router-link :to="{name: 'detail', params: { id: 1 }}"前往Detail页面/router-link

对应路由配置:

{

path:'/detail/:id',

name:'detail',

component: detail

}  获取参数方式: this.$route.params.id

三、第三种方法:query传参

使用path来匹配路由,然后通过query来传递参数,这种情况下 query传递的参数会显示在url后面?id=?

methods:{

handleClick(id) {

this.$router.push({path:'/detail',query: {id: id}})

}

对应路由配置:

{

path:'/detail',

name:'detail',

component: detail

}  //获取参数:this.$route.query.id

四、总结:params和query中的区别

1、接收方式

query传参:this.$route.query.id

params传参:this.$route.params.id

2、路由展现方式

query传参:/detail?id=1user=123identity=1更多参数

params传参:/detail/123

vue 跳转(跳转接收参数)问题总结

        使用说明: this.$router.push(  { 跳转地址 (可用name或path): ' 跳转地址名称或地址'  , query (跳转后刷新不消失) :{参数1:参数1 }  ,params (跳转后刷新消失) :{参数1:参数1 } }   )

      追加说明: 在本页面跳转,跳转后 可以后退 到之前的页面

        实例: this.$router.push({name:'home',query:{id:‘123’}})

  使用说明: this.$router.replace(  { 跳转地址 (可用name或path):  ' 跳转地址名称或地址'  , query (跳转后刷新不消失) :{参数1:参数1 }  ,params (跳转后刷新消失) :{参数1:参数1 } } )

      追加说明: 在本页面跳转,跳转后 不可以后退 到之前的页面

        实例: this.$router.replace({name:'home',query:{id:‘123’}})

  使用说明: this.$router.resolve(  { 跳转地址 (可用name或path):  ' 跳转地址名称或地址'  , query (跳转后刷新不消失) :{参数1:参数1 }  ,params (跳转后刷新消失) :{参数1:参数1 } } )    

   追加说明:跳转新页面

   实例(1):const news =  this.$router.resolve({name:'home',query:{id:‘123’}})

             window.open(news.href,'_blank')

   实例(2):{news }= this.$router.resolve({name:'home',query:{id:‘123’}})

             window.open({news },'_blank')

      使用说明:接收到的  query是页面跳转时设置的  query:{参数1:参数1 } ;取参数 1   this.$route.query.参数1

                        接收到的  params 是页面跳转时设置的  params:{参数1:参数1 } 

      实例: console.log(this.$route.query.id);

定义跳转方法,调用跳转时调用

     showForm(index) {

                 // this.$router.replace({name: 'special_education', params: {id: index}})  //取代

                    this.$router.push({name:'special_education',query:{indexs:index}})  //追加

               // const news = this.$router.resolve({name:'special_education', query: {indexs: index}})

                // window.open(news.href,'_blank')  //新开页面

      }

定义接收方法,接收时调用

getParams() {

  // 取到路由带过来的参数

  this.mallCode =this.$route.query.indexs;

console.log(this.$route.query.indexs);

// 将数据放在当前组件的数据内

//this.mallInfo.searchMap.mallCode = routerParams;

//this.keyupMallName()

}

我们希望这些技巧和建议对您设置和使用路由器有所帮助。

扫描二维码推送至手机访问。

版权声明:本文由路由设置网发布,如需转载请注明出处。

本文链接:https://www.shoulian.org/luyou/post/15845.html

分享给朋友:

“vue的路由带参数跳转” 的相关文章

路由器网段手机怎么调

路由器网段手机怎么调

本篇文章给大家谈谈路由器网段手机怎么调,以及无线路由器怎么设置网段对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文内容目录一览:以上就是路由器网段手机怎么调的全部内容了,文章比较长感谢您的耐心阅读,希望能帮到您,...

插卡路由器密码怎么重置

插卡路由器密码怎么重置

今天和朋友们分享插卡路由器密码怎么重置相关的知识,相信大家通过本文介绍也能对插卡路由器密码怎么重置不了有自已的收获和理解。自己轻松搞问题。本文内容目录一览: 1、路由器wifi密码重置步骤 2、无线路由器密码如何重置? 3、怎么重置路由器密码 4、路由器怎么重新设置密码 四步教你重置密码...

移动终端怎么换路由器

移动终端怎么换路由器

本篇文章给大家谈谈移动终端怎么换路由器,以及移动路由器怎么更换别的路由器对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文内容目录一览: 1、移动光猫路由一体机怎么在连接另外一个路由器 2、移动宽带怎么装路由器(详细过程) 3、移动宽带更换路由器怎么设置路由器 4、移动宽带可以...

路由器bssid怎么改

路由器bssid怎么改

今天和朋友们分享路由器bssid怎么改相关的知识,相信大家通过本文介绍也能对路由器bssid是什么有自已的收获和理解。自己轻松搞问题。本文内容目录一览: 1、路由器bssid怎么设置 2、路由器ssid怎么设置 3、路由器的bssid(mac)地址能改吗? 路由器bssid怎么设置 路由器...

重启的路由器怎么整

重启的路由器怎么整

今天和朋友们分享重启的路由器怎么整相关的知识,相信大家通过本文介绍也能对路由 器 如何 重启有自已的收获和理解。自己轻松搞问题。本文内容目录一览: 1、路由器重启了怎么办 路由器重启后怎么设置 2、TP-LINK重启路由后怎么设置? 3、路由器重启后怎么办 路由器重启了怎么办 路由器重启后...

怎么弄路由器联通

怎么弄路由器联通

今天给各位分享怎么弄路由器联通的知识,其中也会对联通怎么连接路由器进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站 本文内容目录一览: 1、我是联通宽带的,怎么设置路由器呢 2、联通路由器设置步骤是什么? 3、联通网络怎么设置WIFI路由器 我是联通宽带的,怎么设置路由器呢 1、连...