首页 >web前端 >Vue.js > 正文

vuejs如何实现页面跳转

原创2021-09-28 14:44:120811

vuejs实现页面跳转的方法:1、使用“<router-link to="页面url地址">...</router-link>”语句;2、使用“this.$router.push({path: '页面url地址' })”语句。

本教程操作环境:windows7系统、vue2.9.6版,DELL G3电脑。

Vue路由实现页面跳转的两种方式(router-link和JS)

1、通过 <router-link> 实现

<router-link> 组件用于设置一个导航链接,切换不同 HTML 内容

使用方法:

  • 简单写法

<router-link to="demo2">demo2</router-link>
  • 使用 v-bind 的写法

<router-link :to="'demo2'">demo2</router-link>

<!-- 也可以用{}包裹对应的path或name -->
<router-link :to="{ name: 'demo2' }">demo2</router-link>
  • 传参的写法

<router-link :to="{ name: 'demo2', params: { userId: 123 }}">demo2</router-link>

这里传参需要在 router.js 中对 demo2 的路径进行配置,在 path 中 demo2 后添加通配符 : 和对应的 userId,如下:

{
  path: '/demo2/:userId',
  name: 'demo2',
  component: demo2
  },

配置完成后,页面跳转的结果就为 /demo2/123

这里的“123”就是上面的 userId

那么,如何在新页面中获取到传过来的参数 userId 呢?

mounted 钩子中使用 this.$route.params.xx. 获取传过来的参数,如下:

mounted () {
    alert(this.$route.params.userId)
}
// 弹出123
  • 传入地址键值对

<router-link :to="{ path: 'demo2', query: { plan: 'private' }}">demo2</router-link>

页面跳转的结果为 /demo2?plan=private

(注意这里不用在 router.js 里配置路径)

在新页面中获取到传过来的地址键值对 plan,可以在 mounted 钩子中使用 this.$route.plan.xx. 获取传过来的地址键值对,如下:

mounted () {
  alert(this.$route.query.plan)
}

// 弹出private

2、通过 JS 实现---this.$router.push()

template 部分:

<button @click="toURL">跳转页面</button>

script 部分:

(注意这里是 router,上面是 route)

  • 简单写法

methods:{
  toURL(){
      this.$router.push({ path: '/demo2' })
  }
}
  • 传参的写法

methods:{
  toURL(){
      this.$router.push({ name: 'demo2', params: { userId: 123 }})
  }
}
  • 传入地址键值对

methods:{
  toURL(){ 
     this.$router.push({ name: 'demo2', params: { userId: 123 }, query: { plan: 'private' } })
  }
}

相关推荐:《vue.js教程

以上就是vuejs如何实现页面跳转的详细内容,更多请关注php中文网其它相关文章!

php中文网最新课程二维码

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

  • 相关标签:vue 跳转 页面跳转
  • 相关文章

    相关视频


    网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论
  • 专题推荐

    作者信息
    推荐视频教程
  • Vue.js 开发基础教程Vue.js 开发基础教程
  • vue 3.0全新实战课程(2021版)第一季vue 3.0全新实战课程(2021版)第一季
  • vue 3.0全新实战课程(2021版)第二季vue 3.0全新实战课程(2021版)第二季
  • VuePress: 30分钟制作一个Vue静态网站VuePress: 30分钟制作一个Vue静态网站
  • Vue.js:纪录片Vue.js:纪录片
  • Vue2.0+Vue3.0全套视频教程Vue2.0+Vue3.0全套视频教程
  • 视频教程分类