vue.js - 传递常规 Vue 文件时,Vue 的渲染 createElement 会出错
问题描述
所以我创建了一个带有渲染函数的 Vue 文件,该函数应该循环遍历 ID 并根据这些创建组件。
特别是在我正在使用的渲染函数createElement
中,我传递了三个参数:
- 一个 Vue 组件(来自 JS 文件)
- 一个配置对象
- 一个 Vue 组件(来自 Vue 文件)
这是 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
上面函数中返回的另一个参数。
解决方案
您不能将数组createElement
作为第一个参数传递。
试试这个:
createElement(dialogs[id])
推荐阅读
- batch-file - 如果您没有在 (IF) 中放入任何内容并按 Enter 键,它会正确运行,我该怎么做?
- c++ - 在 Visual Studio 中运行 C++ 时出现 is_block_type_valid() 错误
- javascript - 我的电子邮件是在 npmjs 上共享还是未共享?
- python - 无法从同一文件调用方法
- java - 如何输出连接到它的大写长度的字符串
- swift - TabView 的 TabItem 的选定选项卡图像在 SwiftUI 中始终为蓝色
- python - 打印到 PDF Django & ReportLab
- javascript - FullCalendar 结束日期 null 只要事件未更改,即使 allday false
- css - 按钮上的引导浮动右类
- javascript - Post方法后重定向,expressjs