vue 编程式路由导航(不借助router-link)

本文介绍了如何在Vue中使用v-router实现button等非a标签的路由跳转,包括replace方法、前进后退操作(back/forward)以及go方法的使用,以及如何通过参数控制导航步数。

要点:

 

我们之前一直使用router-link实现的跳转,而且它默认就是一个a标签所以如果需要对一个button标签进行跳转时,就不行了,或者需要实现当点击对应控件三秒后进行跳转这也是a标签办不到的 

这时我们就要使用到所有组件都有的router了 

在vuerouter的原型对象上有许多方法

注意原来是把跳转写在模板上,所以v-for的m可以直接读,但是现在写在方法里,要通过在模板上传参来获取m

 

 

 replace只要把这边的this.$router.push换成replace就行

 

 

而要实现前进和后退时,使用$router原型对象里面的back和forward

这样就行了

 

 而这边的go方法

这边go里面要传入参数 当为正数时.就相当于前进了几步,当为负数时就相当于后退了几步

总结

 

 

### Vue 3 中 `router-link` 绑定 `router-view` 的用法 在 Vue 3 中,为了实现页面之间的导航并展示同的视图内容,可以使用 `vue-router` 提供的 `<router-link>` 和 `<router-view>` 这两个核心组件。 #### 创建路由配置文件 首先,在项目中安装好 `vue-router` 后,需创建一个路由配置文件来定义应用中的同路径及其对应的组件。这一步骤确保了当访问特定 URL 路径时能够加载相应的组件[^1]。 ```javascript // src/router/index.js 或者其他合适位置 import { createRouter, createWebHistory } from 'vue-router' import Home from '../views/Home.vue' import About from '../views/About.vue' const routes = [ { path: '/', name: 'Home', component: Home, }, { path: '/about', name: 'About', component: About, } ] const router = createRouter({ history: createWebHistory(), routes }) export default router; ``` #### 设置主应用程序结构 接着,在项目的入口 HTML 文件或单文件组件内设置基础的应用程序布局,其中包含了用于触发导航链接的 `<router-link>` 标签和显示匹配组件的地方即 `<router-view>` 标签[^4]。 ```html <template> <div id="app"> <header> <!-- 导航--> <nav> <ul> <li><router-link :to="{name:'Home'}">首页</router-link></li> <li><router-link :to="{name:'About'}">关于我们</router-link></li> </ul> </nav> </header> <!-- 页面主体区域 --> <main> <router-view /> </main> </div> </template> ``` 上述代码片段展示了如何利用 `router-link` 来构建导航菜单,并通过点击这些链接改变当前显示的内容区(`router-view`)所呈现的具体页面[^2]。 #### 关联路由器实例至根组件 最后,记得把新建立好的路由器对象关联到整个 Vue 应用上,通常是在 main.js (或者类似的启动脚本)里完成此操作: ```javascript import { createApp } from 'vue'; import App from './App.vue'; import router from './router'; createApp(App).use(router).mount('#app'); ``` 这样就完成了基于 Vue 3 的简单路由系统的搭建过程,实现了 `router-link` 对应于各个页面间的跳转逻辑,而 `router-view` 则负责动态渲染对应组件的内容[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值