更改vue路由器路由而不更改URL

2023-12-21

在我的前端中,我想将用户重定向到错误视图,以防初始化出错。为此,我准备了一个可以通过特定路径调用的特殊错误视图。为了改善用户体验,我不想将 url 替换为类似的内容/error,但我还是想利用vue router。

您知道如何实现这一目标吗?


github上有一个讨论:更改 router-view 使用的当前组件而不更改当前 URL https://github.com/vuejs/vue-router/issues/977

然而,期望的功能replaceView至今仍无法使用。

我的要求和你的完全一样,我找到了解决方法:

我有一个名为的路线组件App.vue (I use 类星体框架 https://quasar.dev)。它的模板如下所示:

<template>
  <div id="q-app">
    <div v-if="$store.state.g.errorState">
      <the-error-page>Error Message</the-error-page>
    </div>
    <router-view v-else />
  </div>
</template>

我使用vuex的全局商店state.g.errorState标记错误状态。如果为true,则显示错误页面,否则显示正常的路由器视图。

如果我的页面有错误,我只需将真实值提交给state.g.errorState:

<script>
export default {
  data() {
    // ...
  },
  beforeMount() {
    if (somethingWrong) {
      this.$store.commit('g/errorState', true)
    }
  }
}
</script>

显然,state.g.errorState每次路由更改时,值都应恢复为 false:

const Router = new VueRouter({
  // ...
})

Router.beforeEach((to, from, next) => {
  store.commit('g/errorState', false)
  next()
})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

更改vue路由器路由而不更改URL 的相关文章

随机推荐

  • 我的联系表单的提交按钮未提交和重定向

    我正在开发我的第二个网站 在创建这个网站和我的第一个网站的整个过程中 StackOverflow 上的人们给了我很大的帮助 我可以浏览并找到几乎所有我不想知道的东西 我遇到的 99 的问题 我都用我在这里读到的答案解决了 首先非常感谢大家
  • 计算 R 中一个组中两个值同时出现的次数

    我搜索了这个问题的答案并发现了类似的答案 计算每组内的行数 https stackoverflow com questions 9809166 count number of rows within each group 计算 R 数据帧列
  • 提取N位数字的前X位

    如何选择一个数字的前2位数字 我只需要函数的名称 示例 12455 变为 12 13655 变为 13 基本上它相当于整数的子字符串 如果最后您再次需要一个数字向量 元素 您可以使用 as numeric substr x 1 2
  • 当我在 Android 设备上手动安装 app-debug.apk 时,它崩溃了

    当我从 Android studio 运行项目时 我的应用程序在 Android 设备上运行良好 但是 当我在设备上手动安装 app debug apk 时 应用程序在启动时崩溃 并且 app debug unaligned apk 没有生
  • 如何向 text_field_tag 添加占位符?

    我的表格中有以下行 text field tag mother name nil id mother name autocomplete class form group form control autocomplete off data
  • 使用fstream写入

    我试图在指定文件中查找一行并将其替换为我的行 我无法访问将要运行该程序的计算机上的库 因此我创建了一个自定义文件 问题似乎是对 fstream 对象的写入调用 我想知道你们中是否有人可以提供帮助 另外 我的 getline 循环在到达文件末
  • Python Selenium 将数据存储到 CSV 中的特定列?

    我有两份印刷品想写到一张CSV文件存入列A和列B 我的问题是 当我在最后打印 第一次和第二次打印 时 我只得到一个元素 我猜是多次 因为它不在循环之内 print text link 0 9 Result LMFCIIC PWFERT BK
  • 资源泄漏和内存泄漏与性能之间的关系

    对于资源泄漏 我指的是 Streams StreamWriter 我想它们正在消耗文件描述符 Handles GDI 或用户图形字体 很快所有 Closable 对象都可以算作资源 如果应用程序存在一些资源泄漏 假设某些输入流没有关闭 它们
  • 如何在 Zend 框架的 ini 文件中编写路由链……的链?

    我正在尝试使用 Zend 框架的 INI 文件定义如下路由 http api example com servicename http api example com servicename 版本 users userid items it
  • 如何在没有后端的情况下保存用户输入

    我刚刚学习 JavaScript 和 Web 开发 我想知道我想做的事情是否可能 我想编写一个 JavaScript 测验来保存用户输入的答案 而不需要后端 这可能吗 如果不可能 我能做到这一点的最简单和最容易的方法是什么 谢谢 PS 如果
  • 如何将 X11 键符号映射到 Unicode 字符?

    X11 将键码映射到键符号 然后将键符号映射到 Unicode 在程序中检索键符号到 Unicode 映射的好方法是什么 Try this http www cl cam ac uk mgk25 ucs keysym2ucs c
  • 通用 git 重置为默认上游 HEAD

    是否有语法可以重置为当前分支的默认上游 HEAD 就像是 git checkout mybranch git reset hard origin mybranch where origin mybranch可以通用当前分支的上游 HEAD
  • Windows - 无法启动 Git:可能 Git 可执行文件的路径无效

    Can t start Git C Users Cloudion PC AppData Local GitHub PortableGit d93ee8917cfa9add886773e6be9ec08609a502b6 bin git ex
  • 是否有任何理由在 Maven 中为我自己的传递依赖项保留显式依赖项声明?

    我已经阅读了一段时间有关 Maven 中的显式依赖声明与传递 隐式 依赖声明的内容 大多数人倾向于同意您应该始终显式声明项目所依赖的库 主要是为了避免版本不匹配 这是完全合理的 但是我们应该如何解决我们的内部依赖性 如果可以通过传递机制解决
  • 在纯文本 div 中插入新行

    我正在使用一个 CMS 它只允许特定 div 中的文本 HTML 例如 br 被解析为 lt br gt 对于 Unicode HTML 代码 例如 amp 会产生 and x00040 会产生 但它似乎不允许换行 回车 我怎样才能把一个
  • PyBind11 析构函数未调用?

    我有一个c 类包裹着PyBind11 问题是 当Python脚本结束c destructor不会被自动调用 这会导致不整齐的退出 因为网络资源需要由析构函数释放 作为解决方法 有必要显式删除Python反对 但我不明白为什么 请有人解释一下
  • 文本环绕段落中居中的图像

    例如 text text text text text text text text text text text text text text text text text text text text text text text te
  • 用汇编语言将 2 个数字相加并打印结果

    我需要有关如何添加两个数字然后打印结果的帮助 这是我的代码 MODEL SMALL STACK 200H DATA NUM1 DB 12 NUM2 DB 3 VAL DB MSG1 DB The sum is CODE BEGIN PROC
  • 如何在执行之前打印每个命令? [复制]

    这个问题在这里已经有答案了 设置在执行之前打印每个命令的 Bash 脚本的最佳方法是什么 这对于调试目的来说非常有用 我已经尝试过这个 CMD my command params gt stdout txt 2 gt stderr txt
  • 更改vue路由器路由而不更改URL

    在我的前端中 我想将用户重定向到错误视图 以防初始化出错 为此 我准备了一个可以通过特定路径调用的特殊错误视图 为了改善用户体验 我不想将 url 替换为类似的内容 error 但我还是想利用vue router 您知道如何实现这一目标吗