Javascript ionic-`slot`属性已弃用-eslint插件vue
我在VS代码中遇到以下错误:Javascript ionic-`slot`属性已弃用-eslint插件vue,javascript,vue.js,ionic-framework,eslint,vetur,Javascript,Vue.js,Ionic Framework,Eslint,Vetur,我在VS代码中遇到以下错误: [vue/no-deprecated-slot-attribute] `slot` attributes are deprecated. eslint-plugin-vue 我在.eslintrc.js中安装了这两个插件 'extends': [ 'plugin:vue/vue3-essential', 'eslint:recommended' ], 在规则中: 'vue/no-deprecated-slot-attribute': '
[vue/no-deprecated-slot-attribute]
`slot` attributes are deprecated. eslint-plugin-vue
我在.eslintrc.js中安装了这两个插件
'extends': [
'plugin:vue/vue3-essential',
'eslint:recommended'
],
在规则中:
'vue/no-deprecated-slot-attribute': 'off',
为了避免这个问题,应该做些什么
编辑@tony19的答案:
若要解决该错误,请将v-slot:修复应用于包装器:
...
我使用了上述解决方案。但是刷新程序根本不起作用。只要使用//eslint disable next line
或eslint disable line
在包含插槽标记的下一行禁用eslint,然后继续使用代码,如果您希望继续使用相同的代码
或
您可以使用
来使用未命名的插槽标记和
您正在尝试使用旧语法,这是非常有用的。尝试使用
所以,我想不是
<ion-refresher slot="fixed">...</ion-refresher>
。。。
你应该使用
<ion-refresher>
<slot name="fixed">...</slot>
</ion-refresher>
...
已弃用插槽
显示以下示例代码,其中突出显示了问题和解决方案:
您可以尝试将其添加到.vscode/settings.json上
{
"vetur.validation.template": false
}
这个插槽实际上是指网络组件插槽
Ionic Framework使用的插槽与Vue 2插槽不同。我们使用的插槽是Web组件插槽,并且是有效的用法:
开发人员应根据我们的文档使用Web组件插槽定位元素:
检查以确保您的eslint.js具有以下规则:
rules: {
'vue/no-deprecated-slot-attribute': 'off',
}
接下来打开settings.json并添加以下内容:
“vetur.validation.template”:false,
它在控制台中显示此错误:确保您使用:
它显示已定义但从未使用过“fixed”。
如果使用第二个解决方案,“fixed”必须是在vue组件方法中使用的一些参数,但您从未在方法中使用过。我正在使用插槽设计页面。这个问题与es lint Formatter有关,我认为只需禁用此页面上的es lint即可继续使用现有代码或更新es lint配置文件。使用链接在.eslint.js文件中配置es lint规则我以前做过,但它显示了以下内容:确保使用:
与此相关的linter规则是什么消息?我已经使用了你的解决方案,但当我这样做时,复习根本不起作用!!我已经编辑了这个问题。你想用这个
组件/元素做什么?是否要将其插入其父组件(代码)的现有插槽(名为“固定”)中?(这似乎是您现在的意图。)或者您想创建一个名为“fixed”的新插槽作为
元素的子元素,以便您在此处创建的组件的使用者能够将自定义HTML注入
的内容?@BartHofland我不知道插槽=“fixed”到底做什么。我不熟悉ionic
和vue
。我在ionic文档中发现,您必须在代码中添加该属性,否则,Ionion刷新器
无法正常工作。我想我与设计有关,而不是在我看到的代码中注入任何东西。。。我查看了你链接中的信息。实际上,似乎爱奥尼亚的
元素有一个名为“fixed”的插槽,因此将
元素注入其中应该是完全有效的。但是由于slot
属性现在在Vue中已经过时,我倾向于同意的答案是用新的Vue语法v-slot:fixed
替换过时的语法slot=“fixed”
。看来tony19最近对他的答案做了一些修改。也许它现在对你有用。这件事的目的是什么:“vetur.validation.template”:false,
?是否要禁用vue验证程序?此代码的目的是什么。你能解释一下吗!
rules: {
'vue/no-deprecated-slot-attribute': 'off',
}