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

时间:2014-07-24 21:03:40

标签: polymer

这可能是一个愚蠢的问题,因为它很难实现,但我还是想问......

取这个标记:

<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 - 并且可以通过单个&#39;来增强原生控制。属性。

1 个答案:

答案 0 :(得分:0)

更新:否。

Shadow DOM封装(与改变用户的DOM相反)是Polymer中的一个基本概念。曾经有一个lightdom attribute可以做类似于你要求的事情,但它最终成为removeddiscussion)。

你可以非常轻松地use native custom elements alone来实现这样的事情。或者也许Mozilla的x-tag或IBM的delite覆盖了这个用例。

原始答案

使用polymer-element标记上的extends attribute

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

这里是working example