问题标签 [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 投票
2 回答
1869 浏览

typescript - vue-router 3.5.1 中的警告:的 tag 属性已被弃用,并已在 Vue Router 4 中删除

由于我更新了 Vue.js 应用程序的节点包,我在浏览器控制台中收到以下警告:

[vue-router] 的 tag 属性已弃用,并已在 Vue Router 4 中删除。使用 v-slot API 删除此警告: https ://next.router.vuejs.org/guide/migration/#removal- of-event-and-tag-props-in-router-link。@vue-router.esm.js:16

当然,信息非常简单,但是:

在使用的地方,甚至没有应用<router-link>已弃用的tag道具:

此外,安装的 vue-router 包甚至不在版本 4 中,而是在版本 3 中,与 v2.6 中安装的 vue.js 正确匹配。警告消息给我的印象是,兼容性检查器假定 v4 正在使用中。

摘自 package.json:

我很困惑,在StackOverflowvue-router Github issues中找不到解决方案。
此警告是否无法修复,而只是在将来某个时间升级时不断提醒您注意这一点?如果是这样,为什么它不检查是否tag真的使用了 prop - 似乎有点垃圾邮件..

UPDATE
这个问题也出现在 vue-router v3.5.2 中。
有一个GitHub vue-router 问题(已关闭)和一个Github boostrap-vue 问题(打开)。

0 投票
0 回答
43 浏览

server-side-rendering - [vue3 ssr vue-router]router.push 没有路径将导航到当前编码的路径

我正在使用 vite 构建一个 ssr vue 应用程序。(vite2 & vue@3.0.11 vue-router@4.0.6 & ssr)

之前的href是

当我打电话时

我的浏览器跳转到

它很丑。我希望它导航到localhost:8080/h5/test/index.html?x=1. 我应该怎么办?

在源代码中,我看到了函数

并且params在之前被编码(但随后将被解码)。所以现在对路径进行了编码。

0 投票
3 回答
1352 浏览

vue.js - warning in vue-router 3.5.1: In Vue Router 4, the v-slot API will by default wrap its content with an element

0 投票
0 回答
29 浏览

vue.js - vue-router 4:匹配可选的嵌套组

是否可以使用vue-routerv4 匹配(多个)可选组,例如:

这应该优先匹配以下路径:

我见过一些类似的问题,但似乎没有一个有效 - 至少不适用于 vue-router 4(如果我理解正确,它不再在path-to-regexp内部使用?)。如果不可能,在不编写自定义路由器的情况下,是否有任何选项可以实现这样的目标?

0 投票
1 回答
1239 浏览

vue-router - Vue Router Composition API OnBeforeRouteLeave 无效导航保护

在用户离开路线并要求确认之前,我需要显示一个模式。基于该确认,用户可以离开路线。问题是确认是作为一个承诺来的,并且OnBeforeRouteLeave期望一个我不能在里面做的布尔返回.then()。我在他们的 API 上找不到任何东西,但有什么方法可以使用吗?就像next()以前版本的 vue 路由器一样有效,或者可能是更适合这种情况的钩子?

更新:

在源代码上它说:

添加一个导航守卫,当当前位置的组件即将离开时触发。与 beforeRouteLeave 类似,但可以在任何组件中使用。当组件被卸载时,防护装置被移除。有beforeRouteLeave一个next功能,但是当我使用它时,我得到:

未捕获(承诺)错误:无效的导航保护

0 投票
1 回答
1272 浏览

vue.js - vue js - Cannot read property 'use' of undefined

I'm using vue js 3, but im taking this error. I try to use router.

my main.js file is in here:

my package.json file is in here:

Where am i wrong? The error message is: Uncaught TypeError: Cannot read property 'use' of undefined

If you help me i will be glad.

0 投票
1 回答
560 浏览

vue.js - 路由器级别的 Vue 3 动态组件

我需要动态导入,例如。我有 10 个布局,但用户只访问了 3 个布局,我不应该导入所有布局,因为它消耗了不必要的资源。

由于它是动态导入的,每次我在 Login & Register path <RouterLink :to"{name: 'Login'}" />&之间切换时<RouterLink :to"{name: 'Register'}" />,我都会再次重新渲染或动态导入布局。

我的问题是没有重新渲染或动态导入布局的更好的处理方法是什么?或者我可以将动态导入组件保存到当前的 vue 3 上下文中吗?

App.vue这是我的应用程序,可以查看路由器并根据 route.meta.layout 切换布局

router/index.js这是我的带有布局元的路由器

0 投票
0 回答
96 浏览

vuejs3 - vue3, vue-router4.0 instances.default 在路由匹配中未定义

我正在使用vue3,vue-router4进行一个项目,并且在最新的vue和vue-router中遇到了一些问题。在 vue2 和 vue-router3.0 中,当我在处理嵌套路由器时,我做了一个HOC可以渲染componentor的router-view,但是在 vue3 和 vue-router4.0 中,我无法instances.default通过route.matched

Vue2、Vue-Router3

Vue3、Vue-Router4

结果总是得不到router-viewcomponent原因instances.default总是undefined

希望有人可以帮助我,谢谢。

0 投票
1 回答
2742 浏览

vue.js - [Vue 警告]:无效的道具:道具“productCartData”的类型检查失败。预期对象,得到值为“[object Object]”的字符串

“cardData”看到但不理解数组由哪些元素组成。

一切都在 vue-router v3.x 中运行。

我的错误:

购物车.vue

ProductCard.vue

吸气剂

store.js

0 投票
1 回答
272 浏览

vue.js - Vuejs 3路由器无法读取未定义的属性“推送”

我目前正在尝试启动一个包含用户登录名的 Vue 应用程序。出于某种原因,我一直在努力让这个路由器重定向工作。

该实现直接来自 vueschool 页面,专门针对组合 API。

我在这里想念什么?

每次我运行注册脚本时,它都会正确注册用户并记录它找不到未定义的“推送”属性的错误。我的代码完成告诉我它在那里,linting 工作正常,IDE Webstorm 没有给出任何错误。

希望它只是简单的东西