Vue.js, динамическое определение компонента внутри другого компонента

Пишу веб-приложение с использованием фреймворка Vue.js. Возникла следующая задача. Мне необходимо определить компонент_1, в нем определить компонент_2, а в компоненте_2 необходимо определить компонент_3, причем какой именно компонент будет определен в момент определения компонента_3, заранее неизвестно, эта информация должна передаться из компонента_1. Пока что есть мысль использовать для этих целей динамический импорт.

Компонент_1:

<template>
   <div>
      <component_2
         :component_3_data="component_3_data"
      />
   </div>
</template>

<script lang="coffee">
   import component_2 from "./component_2.vue"
   
   export default {
      data: () ->
         <!-- Тут будет условие, которое определит, 
         какой компонент будет определен как компонент_3 -->
         component_3_data = "component_3_title.vue"
   }
</script>

Компонент_2:

<template>
   <div>
      <!-- Тут будут динамически определяться компоненты, 
      в зависимости от условия в компоненте_1 -->
      <my_component_3/>
   </div>
</template>

<script lang="coffee">
   foo = async () ->
      return await import(steps_body)
   my_component_3 = foo()

   export default {
      props: {
         component_3_data: {type: Object, default: null}
      }
</script>

При выполнении - ошибка "async is not defined".


Ответы (0 шт):