Vue Router 的使用(二)

本文详细介绍了Vue Router的编程式导航,包括使用push、replace、go等方法进行导航,命名路由,重定向和别名,以及不同历史记录模式(Hash、HTML5)的应用。此外,还讲解了如何通过props向路由组件传递参数。
摘要由CSDN通过智能技术生成

Vue 官方文档:参考官网:Vue.js - 渐进式 JavaScript 框架 | Vue.js (vuejs.org)

 Vue Router 参考:Home | Vue Router (vuejs.org)


注意:我是用 vite 的方法创建项目的,有些创建项目方式的 router 使用是有区别的。 


八、编程式导航

除了使用 <router-link> 创建 a 标签来定义导航链接,我们还可以借助 router 的实例方法,通过编写代码来实现。

1、导航到不同的位置

注意:在 Vue 实例中,你可以通过 $router 访问路由实例。因此你可以用 this.$router.push

想要导航到不同的 URL,可以使用 router.push 方法。这个方法会向 history 栈添加一个新的记录,所以,当用户点击浏览器后退按钮时,会回到之前的 URL。

当你点击 <router-link> 时,内部会调用这个方法,所以点击 <router-link :to="..."> 相当于调用 router.push(...) :

下面举个例子:

新建 page 页面,设置一个按钮进行跳转:

<template>
    <div>
        <p>Page页面</p>
        <button @click="goPage">跳转页面</button>
    </div>
</template>
<script>
export default {
    methods:{
        goPage:function(){
        }
    }
}
</script>

(注意:App.vue 和 index.js 里面的配置跟上面例子一样,这里略) 

下面是不同的跳转方法:

(1) 跳转方式一:push 直接跳转

export default {
    methods:{
        goPage:function(){
            // 跳转:方法一
            this.$router.push('/')
        }
    }
}

(2)跳转方式二:if 条件判定

export default {
    methods:{
        goPage:function(){
            // 跳转:方法二(条件判定)
            if(123==123){  //可以写条件来决定是否跳转
                this.$router.push('/')
            }
        }
    }
}

(3)跳转方式三:通过传递对象

export default {
    methods:{
        goPage:function(){
            // 跳转:方法三࿰
Vue RouterVue.js官方提供的路由管理器。通过创建一个router对象,我们可以实现路由跳转和路由的重定向。在使用Vue Router时,我们可以通过<router-link>和<router-view>标签来进行路由的使用和展示。其中,<router-view>是一个组件的名称,当url匹配到对应的路径时,对应的组件会被渲染到<router-view>标签中。 在Vue Router的基本配置中,我们可以创建路由组件和配置路由。首先,我们需要创建一个路由组件,比如一个名为Page的组件。然后,我们可以创建一个routes数组,其中包含了我们的路由配置,比如{ path: "/page", component: Page }。最后,我们可以创建一个router对象,将routes配置传入其中。 在Vue Cli中使用Vue Router时,有多种配置方式可供选择。你可以自己手动配置路由,也可以直接使用Vue Cli提供的脚手架工具来安装并配置Vue Router。无论使用哪种方式,你都可以将router对象放在Vue实例中,并通过this.$router来获取router对象进行操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [VueRouter使用](https://blog.csdn.net/m0_56232007/article/details/118412371)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [vue-router使用](https://blog.csdn.net/weixin_41223530/article/details/120672295)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值