问题标签 [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.
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
错误
vue.js - 如果在 router.js vuejs 中条件为真,如何在其他路由上重定向
我在 vuejs 中有多重身份验证应用程序。因此,在 router.js 中,我检查了如果客户登录它应该重定向到客户仪表板,如果管理员登录它应该重定向到管理仪表板
在 router.js 中,我在 beforeEach() 中实现了它。但它多次重定向它会产生错误。
这是我的 router.js beforeEachFunction()
这是错误
实际上,在到达 beforeEach 之前,我在路由器中推送路由取决于客户或管理员。
现在,当我转到客户路线时,它没有 /dashboard 路线,所以我认为它一次又一次地尝试
javascript - 如何在 Vue 3 中使用路由器视图使某些组件“保持活动”?
我创建了一个由两个主要组件组成的小应用程序,并且我正在使用 vue 路由器在组件之间进行路由。
第一个组件称为 MoviesList,第二个组件称为 Movie。我已经在路由 js 文件中注册了它们。
我的 App.vue 模板看起来像这样
我怎样才能让 MovieList 组件被缓存或者说它是用<keep-alive>
标签包装的?期望的结果是使 MovieList 组件被缓存而 Movie 组件不被缓存。
我想这样做是因为 MovieList 组件有一个在mounted() 挂钩上运行的方法,每当我切换路由并返回时,该方法再次运行,因为组件被重新渲染。
vue.js - 在 vue js 中导入和导出变量
有什么办法可以导入,这个路由变量在另一个文件中。注意我不想只导入路由变量。下面的代码是我试图做的
src/router.js
src/components/navbar/index.vue
谢谢。
vue.js - 如何为VueRouter中的每个组件动态更改路由?
我正在尝试在我的应用程序中使用动态路由。
我有包含 3 个静态博客的主路由“/blogs”,我想要的是每个博客都应该用自己的内容呈现,如“/blogs/blog-1”和博客 2,如“/blogs/blog-2”,我已经尝试过使用文档,但由于我是初学者而无法理解。
这是我所有组件的代码,
路由器.js
这是 Blog.vue ,其中所有的静态博客都不是满的而是一半
因为我想点击阅读更多,所以它应该转到应该在另一个组件中的完整文章。
谢谢你
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 看起来像这样:
有人知道如何导出路线吗?
javascript - Vue路由器更改url但不更改内容
在歌曲组件中,我有一个其他专辑的列表,所以每当我点击一个时,它应该将我重定向到 /songs/:id。每张专辑都有自己的 id。
这适用于 Home 或任何其他组件,但每当我尝试从 /songs/1 到 /songs/2 时,它都不起作用。URL 发生变化,但网页保持不变。
这是我的路由器 index.js 文件。
我在谷歌上搜索了一下,但似乎没有什么对我有用。
vue.js - 在 Vue3 和 Vue-router 中获取当前路由的最佳方法?
我正在尝试"https://example.com/some/path"
使用 Vue3 和 Vue-router 获取当前路径(类似于 )。
之前,在使用 Vue2 时,我可以使用以下方法获取当前路线:
但在 Vue3 中无法使用ctx.root
(如 Evan You 所述)。
那么用 Vue3 获取当前路由的首选方法是什么?
javascript - Vue 路由器 addRoutes 已弃用,但我想向 Vue 路由器添加路由数组
这是我的 Main.js。我通过 API 调用从数据库中获取路由,但 Vue 路由器版本 4 已弃用addRoutes
功能。所以现在我一次只能添加一条路线。我不想通过迭代路由/菜单列表来添加路由。请分享你的想法。