VueJS功能组件:呈现任意HTML

时间:2018-03-26 13:38:54

标签: javascript vuejs2

我有一个看起来像这样的功能组件:

export const TableCell = Vue.component('TableCell', {
  functional: true,
  render(createElement, context) {
    const item = context.props.item;
    const column = context.props.column as TableColumn;

    // Omitted: Render a template; value may have some basic HTML in it
    const value = ...;

    return createElement('span', value);
  },
  props: {
    item: Object,
    column: {}
  }
});

显然,createElement期望value是文本,而不是HTML(它似乎设置了生成元素的innerText属性。我的问题有两个:

  1. 有没有办法将value设置为innerHTML的{​​{1}}?
  2. 有没有办法重新编译"它使Vue组件可以包含在span中(这不太重要)

1 个答案:

答案 0 :(得分:0)

好吧,我能够回答我自己的问题(至少是第一部分):

return createElement('span', {domProps: {innerHTML: value}});

这是记录here,但我不知道错过了它。

如果有人有任何建议,仍在寻找我的第二个问题的答案。