是否可以用模板替换宿主元素



这可能是一个愚蠢的问题,因为它似乎很明显,这将很难实现,但尽管如此,我想问…

取这个标记:

<input is="my-input" name="foo">

和这个假定的组件:

<polymer-element name="my-input">
    <template>
        <div>
            <span class="myinput" name="{{name}}">
        </div>
    </template>
  ....

是否可以将渲染后的DOM转换为:

<div>
     <span class="myinput" name="foo">
</div>

通过有效地替换初始的本地HTML输入?

用例是提供一个回退。如果浏览器不支持web组件,它将退回到本机控件。此外,作者可以编写他们知道的语法:HTML -并且可以通过单个'is'属性增强本机控件。

更新: No.

Shadow DOM封装(与改变用户的DOM相反)是Polymer中的一个基本概念。曾经有一个lightdom属性会做一些类似于你所要求的事情,但它最终被删除(讨论)。

你可以很容易地单独使用本地自定义元素来实现这样的东西。或者Mozilla的x-tag或者IBM的delite已经覆盖了这个用例。

原始回答

polymer-element标签上使用extends属性:

<polymer-element name="my-input" extends="input" attributes="name">

最新更新