Polymer 我的自定义聚合元素无法渲染

Polymer 我的自定义聚合元素无法渲染,polymer,web-component,Polymer,Web Component,我正在尝试制作一个扩展的自定义聚合物元素。其目的是要有一个只允许某种格式的数字的输入字段,比如邮政编码字段。为了实现这一点,我扩展了paper input decorator并在其中声明了一个,但屏幕上什么也没有显示。代码粘贴在这里:您做错了。首先,paper input decorator在其阴影dom本身中呈现很多内容。无论是否要查看,都必须在模板中包含父阴影: <template> <link rel="stylesheet" href="ng-phone.css"&

我正在尝试制作一个扩展的自定义聚合物元素。其目的是要有一个只允许某种格式的数字的输入字段,比如邮政编码字段。为了实现这一点,我扩展了paper input decorator并在其中声明了一个,但屏幕上什么也没有显示。代码粘贴在这里:

您做错了。首先,paper input decorator在其阴影dom本身中呈现很多内容。无论是否要查看,都必须在模板中包含父阴影:

<template>
  <link rel="stylesheet" href="ng-phone.css">
  <input is="core-input">
  <!-- ⇓⇓⇓⇓⇓⇓⇓⇓ -->
  <shadow></shadow>  
</template>
虽然现在您可以同时看到输入和装饰器,但结果并不适合您的需要:输入位于装饰器之上。完全可以预测

您应该创建自己的元素并在模板中使用decorator,而不是扩展decorator,如所示:


上面的myLabel将自动绑定。希望有帮助。

谢谢你的提示。我已经解决了这个问题,组件就在这里:我决定不使用纸质输入装饰器包装元素,因为这可能不是用户想要的,相反,它扩展了核心输入,如果用户愿意,可以使用纸质输入装饰器包装。再次感谢。
<polymer-element name="my-phone" attributes="myLabel">
  <template>
    <paper-input-decorator label="{{myLabel}}">
      <input is="core-input">
    </paper-input-decorator>    
  </template>
  ....