我可以禁用特定组件的某些 Vue 警告吗?

Posted

技术标签:

【中文标题】我可以禁用特定组件的某些 Vue 警告吗?【英文标题】:Can I disable certain Vue warnings for a specific component? 【发布时间】:2017-10-11 12:26:13 【问题描述】:

我在 Vue 中有一个(父)组件,它带有它自己的屏幕键盘,它位于它自己的 Vue 组件中。键盘跟踪输入的值并将该值传递给父组件。有时父组件需要重新设置值。

目前实现的方式是直接修改传递给键盘的prop。这显然会产生警告Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders.。但是,这正是我在这种情况下所期望的行为:变量是同步的,并且如果父级更改值应该保持同步。换句话说:我想为这个特定的组件禁用这个特定的警告。

我可以向覆盖局部变量的属性添加一个观察器,并使用局部变量来跟踪事物。那是……愚蠢,因为它完全按照现在的方式进行,需要跟踪更多变量。但是,我还没有找到消除警告的方法。有这样的功能吗?

【问题讨论】:

您甚至不需要观察者:只需使用计算属性或内部数据存储:***.com/questions/39868963/… 父母和孩子都需要访问变量,并且除了通过prop/event系统之外,他们不能访问彼此的变量。使用内部数据存储,我猜你的意思是 vuex 的数据存储?这似乎有点矫枉过正,因为我不希望该值持续超出实际显示父项和子项的位置。 一种方法可能是将属性作为对象传递,相关信息作为对象的属性。 Vue 不会抱怨,因为您没有改变对对象的引用。 【参考方案1】:

As per Linux Borg (core dev) 目前 (Vue 2.5.17) 无法在每个组件的基础上禁用任何警告。您可以使用Vue.config.silent 选项来消除所有警告。

【讨论】:

以上是关于我可以禁用特定组件的某些 Vue 警告吗?的主要内容,如果未能解决你的问题,请参考以下文章

您可以关闭特定位置包含的任何标头的(特定)编译器警告吗?

如何在 VS Code 的 .vue 文件中禁用模板中特定行的 eslint 警告

Visual Studio 禁用特定目录中文件的警告

禁用 /W4 警告以进行提升

Vue 组件按需 - [Vue 警告]:找不到元素

如何禁用特定的 QML 调试器警告