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
道具:
<router-link
class="button-add"
:to="{
name: 'ItemEditorAdd',
params: { parent_item_id: item.id },
}"
:id="'button-' + item.id"
>
<i class="material-icons">add</i>
</router-link>
此外,安装的 vue-router 包甚至不在版本 4 中,而是在版本 3 中,与 v2.6 中安装的 vue.js 正确匹配。警告消息给我的印象是,兼容性检查器假定 v4 正在使用中。
摘自 package.json:
"vue": "^2.6.12",
"vue-class-component": "^7.2.6",
"vue-cookies-ts": "^1.5.19",
"vue-i18n": "^8.24.4",
"vue-property-decorator": "^9.1.2",
"vue-router": "^3.5.1",
"vuex": "^3.6.2",
"vuex-class": "^0.3.2",
"vuex-oidc": "^3.10.2"
我很困惑,在StackOverflow或vue-router Github issues中找不到解决方案。
此警告是否无法修复,而只是在将来某个时间升级时不断提醒您注意这一点?如果是这样,为什么它不检查是否tag
真的使用了 prop - 似乎有点垃圾邮件..
UPDATE
这个问题也出现在 vue-router v3.5.2 中。
有一个GitHub vue-router 问题(已关闭)和一个Github boostrap-vue 问题(打开)。
解决方案
在 caughner 的这个GitHub boostrap-vue 问题评论中找到了答案:
该问题已由#6374修复,并将出现在下一个次要版本 (2.22.0)中。
该 PR 解决了大多数用户的警告,除了那些在 BLink 和类似组件上实际使用 event 和 tag 道具的用户。
bootstrap-vue 2.22.0 尚未发布。当前最新版本是 2021 年 1 月的 v2.21.2。
AFAIK 目前在甚至不使用event
andtag
属性的情况下没有解决此警告的方法。
推荐阅读
- database - 哪个索引最适合 PostgreSQL inet 数据类型?
- html - 如何在 Html 和 Css 中使滑块响应
- asch-development - 为什么 `app.sdb.load('Account', senderId)` 返回一个对象?
- clojure - 在 luminus 项目的 swagger 设置中使用 cprop env 信息
- php - 如何将 woocommence 产品图库图片堆叠或分组到特色产品图片中?
- django - pyorient + Django:我应该如何正确创建模型以便序列化程序可以访问它们?
- java - BST 最小 n 个元素显示
- excel - 如何制作一个条件语句,将几个公共常量之一发送到我的电子邮件
- android - Google Drive API 初始化和首次使用问题
- jquery - Jquery 版本 1.12.4 $(window).on 不是函数