【问题标题】:Create changeable container for component为组件创建可变容器
【发布时间】:2016-12-01 14:36:05
【问题描述】:

我开发了组件,但我需要什么可以更改组件容器的标签名称。 像这样:

<my-component tagName="section"></my-component>

渲染到

<section>... my inner component tags ...</section>

如何制作? 我阅读了有关 render() 和功能组件的信息,但使用

创建组件模板
render(createEl, ctx){
    return createEl(ctx.props.tagName, [createEl('div', [...])])
}

... 看起来既可怕又不舒服。

编辑: 像这样的东西: http://jsbin.com/qozawiwumi/edit?html,output

【问题讨论】:

  • 所以您希望能够动态设置组件模板的外部标记?如果是这样,“内部组件标签”是否可以放置在该组件内的另一个组件内?
  • 对我来说,不清楚您要求的确切内容是什么,您能否提供一个(非)工作样本并提供更多详细信息?
  • @c01nd01r 目前还不清楚您要达到的目标。

标签: vue-component vue.js


【解决方案1】:

我决定了这个问题,使用 is="" 和 this.$vnode.data.tag 来渲染自定义组件包装器。 https://jsbin.com/gifesom/edit?html,output

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-23
    • 2021-12-28
    • 1970-01-01
    • 2018-09-09
    • 1970-01-01
    • 2021-05-05
    • 1970-01-01
    相关资源
    最近更新 更多