问题标签 [vue-router4]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
854 浏览

typescript - 带有 Vue-router4 和 Vue3 组合 API 的 Vue 测试工具

由于在安装期间未在设置方法中定义路由对象,我无法在单元测试期间安装组件。这些指南似乎针对 Vue2 和 options API

参考

如何编写模拟 vue 组件中的 $route 对象的
测试 如何在 vue 组合 api 组件中使用 jest 进行单元测试?
https://vue-test-utils.vuejs.org/guides/#using-with-typescript
https://vue-test-utils.vuejs.org/guides/#using-with-vue-router

错误

0 投票
1 回答
229 浏览

vue.js - 如果在 router.js vuejs 中条件为真,如何在其他路由上重定向

我在 vuejs 中有多重身份验证应用程序。因此,在 router.js 中,我检查了如果客户登录它应该重定向到客户仪表板,如果管理员登录它应该重定向到管理仪表板

在 router.js 中,我在 beforeEach() 中实现了它。但它多次重定向它会产生错误。

这是我的 router.js beforeEachFunction()

这是错误

实际上,在到达 beforeEach 之前,我在路由器中推送路由取决于客户或管理员。

现在,当我转到客户路线时,它没有 /dashboard 路线,所以我认为它一次又一次地尝试

0 投票
3 回答
3834 浏览

javascript - 如何在 Vue 3 中使用路由器视图使某些组件“保持活动”?

我创建了一个由两个主要组件组成的小应用程序,并且我正在使用 vue 路由器在组件之间进行路由。

第一个组件称为 MoviesList,第二个组件称为 Movie。我已经在路由 js 文件中注册了它们。

我的 App.vue 模板看起来像这样

我怎样才能让 MovieList 组件被缓存或者说它是用<keep-alive>标签包装的?期望的结果是使 MovieList 组件被缓存而 Movie 组件不被缓存。

我想这样做是因为 MovieList 组件有一个在mounted() 挂钩上运行的方法,每当我切换路由并返回时,该方法再次运行,因为组件被重新渲染。

0 投票
1 回答
444 浏览

vue.js - 在 vue js 中导入和导出变量

有什么办法可以导入,这个路由变量在另一个文件中。注意我不想导入路由变量。下面的代码是我试图做的

src/router.js

src/components/navbar/index.vue

谢谢。

0 投票
1 回答
226 浏览

vue.js - 如何为VueRouter中的每个组件动态更改路由?

我正在尝试在我的应用程序中使用动态路由。

我有包含 3 个静态博客的主路由“/blogs”,我想要的是每个博客都应该用自己的内容呈现,如“/blogs/blog-1”和博客 2,如“/blogs/blog-2”,我已经尝试过使用文档,但由于我是初学者而无法理解。

这是我所有组件的代码,

路由器.js

这是 Blog.vue ,其中所有的静态博客都不是满的而是一半

因为我想点击阅读更多,所以它应该转到应该在另一个组件中的完整文章。

谢谢你

0 投票
5 回答
10533 浏览

vue.js - '不提供名为'createRouter'的导出'' vue 3、vite 和 vue-router

我刚开始在 vue 中使用 vite。

当我尝试使用 vue-router 时,出现错误:

SyntaxError:请求的模块“/node_modules/.vite/vue-router/dist/vue-router.esm.js?v=4830dca4”不提供名为“createRouter”的导出

我的 router/index.js 看起来像这样:

我的 main.js 看起来像这样:

我的 package.json 看起来像这样:

有人知道如何导出路线吗?

0 投票
1 回答
75 浏览

javascript - Vue路由器更改url但不更改内容

在歌曲组件中,我有一个其他专辑的列表,所以每当我点击一个时,它应该将我重定向到 /songs/:id。每张专辑都有自己的 id。

这适用于 Home 或任何其他组件,但每当我尝试从 /songs/1 到 /songs/2 时,它都不起作用。URL 发生变化,但网页保持不变。

这是我的路由器 index.js 文件。

我在谷歌上搜索了一下,但似乎没有什么对我有用。

0 投票
1 回答
64 浏览

vue.js - Vue Route 4 在 Vue 3 中刷新浏览器时无法读取链接

16进制刷新浏览器时Vue Route无法读取链接

路线是阿拉伯语的别名和路线

示例您可以访问沙盒: jmbz0.csb.app/تواصل

依赖

视图 3

Vue 路线 4.0.3

看待

0 投票
1 回答
6368 浏览

vue.js - 在 Vue3 和 Vue-router 中获取当前路由的最佳方法?

我正在尝试"https://example.com/some/path"使用 Vue3 和 Vue-router 获取当前路径(类似于 )。

之前,在使用 Vue2 时,我可以使用以下方法获取当前路线:

但在 Vue3 中无法使用ctx.root如 Evan You 所述)。
那么用 Vue3 获取当前路由的首选方法是什么?

0 投票
1 回答
607 浏览

javascript - Vue 路由器 addRoutes 已弃用,但我想向 Vue 路由器添加路由数组

这是我的 Main.js。我通过 API 调用从数据库中获取路由,但 Vue 路由器版本 4 已弃用addRoutes功能。所以现在我一次只能添加一条路线。我不想通过迭代路由/菜单列表来添加路由。请分享你的想法。