所以我用渲染函数创建了一个Vue文件,该文件应该循环ID并根据ID创建组件。
特别是在我的渲染函数中,我使用的是createElement
,我向其传递了三个参数:
是3。这给了我这个错误:
无法安装组件:模板或渲染功能未定义。
此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
内部。
答案 0 :(得分:1)
您不能将数组作为第一个参数传递给createElement
。
尝试以下方法:
createElement(dialogs[id])