Продолжаю разбираться во Vue.js,
Идёт запрос на сервер => сервер вытягивает нужные данные и какие компоненты должны использоваться (componentName: 'componentPath'):
used_components:
{
first: '@/components/first',
second: '@/components/second'
},
......
Сейчас я просто подгружаю компоненты вручную
.....
name: 'Page',
components: {
first: () => import('@/components/first'),
second: () => import('@/components/second')
},
data () {
return {
server_array: '',
server_components: ''
}
},....
Как сделать импорт необходимых компонентов исходя из ответа сервера?
что-то вроде
name: 'Page',
components: server_components, // из даты берём (или как-то подругому)
data () {
return {
server_array: '',
server_components: '' //переопределим через methods
}
},
beforeMount () {
this.getPage()
},
methods: {
async getPage () {
const response = await Page.getPage()
this.server_components = response.data.used_components
this.setComponents(this.server_components)
},
setComponents (data) {
for (var key in data) {
() => import(data[key])
}
}
}
....