Vue 3.0 Nuxt : по-прежнему ограничение «ровно один корневой элемент» в шаблоне (и :привязка ключа)

#vue.js #nuxt.js

Вопрос:

Насколько я понимаю, Vue 3 избавился от ограничения на один контейнер в шаблоне и обязательного ключа v-bind:в циклах v-for. Но мой код выдает ошибки. т. е.:

«Шаблон компонента должен содержать ровно один корневой элемент».

к вашему сведению, я использую vue-3 в сочетании с Nuxt… может быть, это что-то изменит. Вот мой пакет.стек json:

  "dependencies": {
    "@nuxtjs/axios": "^5.13.1",
    "@nuxtjs/composition-api": "^0.24.4",
    "core-js": "^3.9.1",
    "nuxt": "^2.15.3"
  },
  "devDependencies": {
    "@nuxt/types": "^2.15.3",
    "@nuxt/typescript-build": "^2.1.0",
    "@nuxtjs/eslint-config-typescript": "^6.0.0",
    "@nuxtjs/eslint-module": "^3.0.2",
    "@nuxtjs/vuetify": "^1.12.1",
    "@vue/test-utils": "^1.1.3",
    "babel-core": "7.0.0-bridge.0",
    "babel-eslint": "^10.1.0",
    "babel-jest": "^26.6.3",
    "eslint": "^7.22.0",
    "eslint-plugin-nuxt": "^2.0.0",
    "eslint-plugin-vue": "^7.7.0",
    "jest": "^26.6.3",
    "ts-jest": "^26.5.4",
    "vue-jest": "^3.0.4"
  }
 

В зависимостях говорится, что у меня есть Линтинг, но он не работает активно..

Кто-нибудь знает, что происходит?

Ответ №1:

Nuxt совместим только с Vue2 в качестве lf прямо сейчас. Даже если вы используете @nuxtjs/composition-api , это не изменит способ компиляции шаблона (в конце цикла он по-прежнему Vue2).

Последний пакет позволяет использовать только API композиции, на самом деле это не Vue3.