bootd
@bootd
Гугли и ты откроешь врата знаний!

Можно ли получить данные у компонента, который подключен динамический import?

Добрый вечер!

Есть такой компонент, внутри которого посредством динамического импорта подключается компонент:

export default {
    name: 'MyComponent',
    components: {
      Test1: () => import('@/components/test1.vue')
    }
  }


Мне нужно обратиться к этому компоненту и получить весь его набор props, которые прописаны у него внутри.
Но из тела MyComponent, я никак не смог найти, как же обратиться к компоненту,подключенному через динамический import.

Единственный вариант, это импортировать компонент через обычный import:
import Test1 from '@/components/test1.vue';

  export default {
    name: 'MyComponent',
    components: {
      Test1
    },
    mounted () {
      console.log(Test1.props); // Так я могу получить список всего его свойств и т.п. данные
    }
  }

Но он мне не подходит, т.к. мне нужно, что бы компонент подключался динамически. Звучит наверное глупо, раз он динамический, то его как бы ещё нет, а мне нужно получить его часть кода.

Возможно ли такое?
  • Вопрос задан
  • 68 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега Vue.js
components: {
  componentName: () => import('...').then(component => {
    console.log(component.default.props);
    return component;
  }),
  ...
},
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
nuykon
@nuykon
Full Stack Developer
const Test1 = () => import('@/components/test1.vue');

export default {
  name: 'MyComponent',
  components: {
    Test1
  },
  mounted () {
    Test1().then((m) => {
      // Компонент
      console.dir(m.default);
      // Его пропсы
      console.log(m.default.props);
    });
  }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы