为什么我的嵌套组件无法渲染?

时间:2019-11-12 19:00:50

标签: vuejs2

使用VueJShttps://vuejs.org/v2/guide/render-function.html)提供的渲染功能,可以完成以下工作:

render(h, context) {

  let children = [];
  children.push(h("span", "test nested span"));
  return h(
    "span",
    children
  )      
}
// results in <span><span>test nested span</span></span>

但是如果我尝试将配置数据传递给父级,它将不起作用

render(h, context) {

  let children = [];
  children.push(h("span", "test nested span"));
  return h(
    'span', {
      domProps: {
        innerHTML: "parent"
      },
      style: "...",
      class: "..."


    },
    children        
  )      
}
// results in <span>parent</span>

我在做什么错?

更新

因此,我认为这里发生的是innerHTML的使用,它覆盖了子元素,因为从技术上讲,它们是innerHTML的一部分。但是我的目标仍然是相同的。我希望能够使用innerHTML,因为它允许使用原始html,而且我还希望在其后呈现子级。

1 个答案:

答案 0 :(得分:0)

您可能正在传递函数render而不是数组render。最好将let render = []更改为let children = []