Добрый день, уважаемые коллеги.
Создаю несколько однофайловых компонентов для отображения данных, которые включаются в корневой шаблон посредством
<component :is="myComponent"/>
Эти компоненты импортируются в корневой компонент:
importComponent1 from './components/Component1.vue'
importComponent1 from './components/Component2.vue'
importComponent1 from './components/Component3.vue'
и регистрируются в объекте `components`:
export default {
name: 'App',
store,
components: {
Component1,
Component2,
Component3
},
data () {
myComponent: 'Component1'
}
}
Однако один из компонентов (редактирование записи) является переиспользуемым. В зависимости от вызывающего контекста, на нём отображается различная информация.
Из вызывающего контекста я отправляю событие с информацией, которую необходимо передать редактирующему компоненту:
this.$emit('editUser, { id: 1, name: 'John Smith', age: 24 })
В корневом компоненте перехватываю событие и вызываю метод динамического создания компонента редактирования записи:
<component :is="myComponent" v-on:editUser="createEditUser"/>
createEditUser (userInfo) {
editUser = ... // <- ?
/*
Как динамически создать экземпляр из существующего
однофайлового компонента, который лежит в папке /components
и передать ему userInfo в качестве входных параметров?
*/
this.myComponent = editUser
}