Итак, я создал файл Vue с функцией рендеринга, которая должна зацикливать идентификаторы и создавать компоненты в соответствии с ними.
В частности, внутри моей функции рендеринга я использую createElement
, которому я передаю трипараметры:
- Компонент Vue (из файла JS)
- объект конфигурации
- Компонент Vue (из файла Vue)
Это 3. Это дает мне эту ошибку:
Не удалось смонтировать компонент: шаблон или функция визуализации не определена.
this VueУ файла нет функции рендеринга, но он имеет template
, поэтому я запутался, почему происходит эта ошибка.
В приведенном ниже коде [createElement([dialogs[id]])]
- это часть, которая выдает ошибку:
import { QDialog } from 'quasar'
import Signin from './Signin.vue'
import Signout from './Signout.vue'
const dialogs = {
Signin,
Signout
}
function createDialogNode (id, createElement, parent) {
return createElement(QDialog, {
props: {
value: parent.toggles[id]
},
on: {
input: function (newState) {
parent.toggles[id] = newState
}
}
}, [createElement([dialogs[id]])])
}
// further down I use `createDialogNode` inside the render function and loop over the props inside `dialogs`.
Итак, в приведенном выше коде вы видите, что у меня есть объект dialogs
с импортированными компонентами.Эти компоненты являются обычными файлами Vue.
Я хочу передать их внутри createElement
в качестве третьего параметра другому createElement
, который возвращается в моей функции выше.