Ошибка при использовании v-bind "is" в Dynamic Vue 3 Componet в Nuxt 3 - не удалось разрешить компонент

Я получаю сообщение об ошибке (см. Ниже) при попытке предоставить атрибут «is» внутри объекта в v-bind для динамического компонента. Я использую Nuxt3.

Ошибка: [предупреждение Vue]: не удалось разрешить компонент: компонент Если это собственный настраиваемый элемент, не забудьте исключить его из разрешения компонента через compilerOptions.isCustomElement.{is: 'AppLink', to: 'myRoute'} Недопустимое значение, используемое в качестве слабого ключа карты

Пример использования в компоненте:

      <component v-bind="{ is: 'AppLink', to: 'myRoute' }">
    <slot></slot>
</component>

Вот как выглядит компонент AppLink:

      <template>
    <nuxt-link>
        <slot></slot>
    </nuxt-link>
</template>

<script>
export default {
    name: 'AppLink'
};

Если я сделаю это так, все будет работать, как ожидалось, без ошибок:

      <component is="AppLink" to="myRoute" }">
    <slot></slot>
</component>

Любые мысли, интерпретирующие ошибку, были бы замечательными. Спасибо.

1 ответ

Это может произойти, если вы не установите глобальные компоненты (не рекомендуется).

        import { defineNuxtConfig } from 'nuxt'

  export default defineNuxtConfig({
    components: {
      global: true,
      dirs: ['~/components']
    },
  })

См. документы по динамическим компонентам об этом.

Другие вопросы по тегам