Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ionic-`slot`属性已弃用-eslint插件vue_Javascript_Vue.js_Ionic Framework_Eslint_Vetur - Fatal编程技术网

Javascript ionic-`slot`属性已弃用-eslint插件vue

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': '

我在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': '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',
  }