我正在尝试将项目从 Vue 2 升级到 Vue 3,其中有一个组件包含不同 Vue 组件的集合。
它在 Vue 2 中的工作方式是在 Twig 中调用 Twig 模板(例如:field.twig)并将其发送到 Vue 使用 :is 属性和 Vue.compile 方法进行编译(<div :is"compile(元素.内容)...“
)。
这是 Twig 模板发送到 Vue 的内容:
但是在 Vue 3 中这似乎不再起作用了。没有任何内容被渲染,如果我只在模板中使用 {{ element.content }}
它会返回原始代码。
我尝试了多种方法来将 html 与 Vue 混合进行渲染(v-html、v-runtime-template),但这些似乎都不能解决问题。
Vue 组件:集合组件
Twig 模板:集合模板
您可以尝试 https://markus .oberlehner.net/blog/distributed-vue-applications-loading-components-via-http/ 或 https://www.npmjs.com/package/vue-runtime-template-compiler 但我不确定这些是否适用于 Vue 3 ...