Pinia+Router学习笔记(九)

简介: 本节记录路由历史记录相关内容

的replace属性:

  • 作用:控制路由跳转时操作历史记录的模式,如果加上了replace属性则跳转后会清除之前所有历史记录使浏览器不能后退
  • 使用方法(模板):
<router-link replace to="/reg">点击replace</router-link>

除这种用法外,也可以使用编程式路由导航router.replace

<template>
    <h1>小满最骚</h1>
    <button @click="replace">replace</button>
    <router-view></router-view>
</template>

<script setup lang="ts">
import { ref, reactive } from 'vue'
import { useRouter } from 'vue-router'
const router = useRouter()
const replace = () => {
    router.replace('/reg')
}
</script>

<style scoped></style>

需要注意的是,router.replace中传入对象并指定name属性的方法已被废弃,若要使用配置对象请用path属性

<template>
    <h1>小满最骚</h1>
    <button @click="replace">replace</button>
    <router-view></router-view>
</template>

<script setup lang="ts">
import { ref, reactive } from 'vue'
import { useRouter } from 'vue-router'
const router = useRouter()
const replace = () => {
    router.replace({
    path:'/reg',
  })
}
</script>

<style scoped></style>

go与back

作用:横跨历史,采用一个整数作为参数,表示在历史记录中前进或后退多少步
<template>
  <h1>小满最骚</h1>
  <button @click="next">next</button>
  <br />
  <button @click="back">back</button>
  <router-view></router-view>
</template>
<script setup lang="ts">
  import { ref, reactive } from 'vue'
  import { useRouter } from 'vue-router'
  const router = useRouter()
  const next = () => {
    // 正数表示前进,负数表示后退
    router.go(1)
  }
  const back = () => {
    router.back()
  }
</script>

完整示例:

<template>
    <h1>小满最骚</h1>
    <router-link replace to="/reg">点击replace</router-link>
    <button @click="toPage('Login')">Login</button>
    <br />
    <button @click="toPage('Reg')">Reg</button>
    <br />
    <button @click="next">next</button>
    <br />
    <button @click="back">back</button>
    <br />
    <button @click="replace">replace</button>
    <router-view></router-view>
</template>

<script setup lang="ts">
import { ref, reactive } from 'vue'
import { useRouter } from 'vue-router'
const router = useRouter()
const toPage = (name: string) => {
    router.push({
        name,
    })
}
const replace = () => {
    router.replace({
        path:'/reg',
    })
}
const next = () => {
    router.go(1)
}
const back = () => {
    router.back()
}
</script>

<style scoped></style>
相关文章
|
9月前
|
缓存 JavaScript
Vue Router 学习 new Router
Vue Router 学习 new Router
85 0
|
1月前
|
缓存 移动开发 JavaScript
【学习笔记】Vue Router
【学习笔记】Vue Router
36 0
|
1月前
|
存储 资源调度 前端开发
React Router v6 完全指南(上)
React Router v6 完全指南(上)
193 0
|
1月前
|
前端开发 JavaScript API
React Router v6 完全指南(下)
React Router v6 完全指南(下)
101 0
|
移动开发 JavaScript 前端开发
React-Router
React-Router
54 0
|
存储
Pinia+Router学习笔记(六)
从本节开始进入Router学习,先介绍下Vue-Router的基本配置
60 0
Pinia+Router学习笔记(三)
本节记录解构Store过程中的相关操作及注意事项
67 0
|
JavaScript
Pinia+Router学习笔记(一)
本系列笔记内容根据B站up主“小满zs”视频教程整理而成,本节记录pinia的搭建过程
122 0
|
前端开发
Pinia+Router学习笔记(四)
本节记录Pinia中Action和Getters相关知识点
108 0
|
JavaScript API
Pinia+Router学习笔记(八)
本节记录Vue中命名路由-编程式导航相关内容
168 0

热门文章

最新文章