Vue路由实现页面跳转

Vue路由实现页面跳转

 

Vue.js 路由可以通过不同的 URL 访问不同的内容,实现多视图的单页 Web 应用

在编写Vue应用程序时,实现菜单导航是一个常见的需求。使用Vue Router可以轻松实现单页面应用程序的导航。同时,我们可以使用Vue组件来创建菜单项,并根据路由的变化来高亮显示当前选中的菜单项。

当然,在编写Vue应用程序时,我们也需要注意代码的可读性和代码风格的一致性,这些都是编写高质量代码的重要因素。希望您在编写Vue应用程序时能够注重这些方面的细节,创造出优秀的应用程序。

此外,Vue Router还提供了许多高级功能,例如动态路由、嵌套路由和过渡效果等,这些功能可以帮助我们更好地组织和管理我们的应用程序。与此同时,我们还可以使用Vuex来管理应用程序的状态,使得应用程序更容易维护和扩展。总之,Vue是一个非常优秀的JavaScript框架,它提供了丰富的功能和良好的开发体验,帮助我们快速构建出高质量的应用程序。

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 实现

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' } })

}

}

以上部分内容来自网络,如有侵权请联系删除!

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HELLO XF

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值