【问题标题】:Extending paper-item in Polymer Dart在 Polymer Dart 中扩展纸张项目
【发布时间】:2014-09-29 01:39:10
【问题描述】:

我一直在尝试从 paper_elements 包中扩展 paper-item 元素。我在扩展我自己的元素时做的事情,但是失败了。

<link rel="import" href="../../packages/polymer/polymer.html">

<link rel="import" href="../../packages/paper_elements/paper_item.html">

<polymer-element name="x-item" extends="paper-item">
   ...
</polymer-element>


@CustomTag('x-item')
class XItem extends PaperItem {
   XItem.created() : super.created();
}

我没有收到错误消息,也没有初始化任何 Polymer 元素,页面的空白部分是我放置 Polymer 元素的地方。

我尝试使用与扩展按钮或 div 等内置 HTML 元素相同的方法。那也失败了。

<link rel="import" href="../../packages/polymer/polymer.html">

<link rel="import" href="../../packages/paper_elements/paper_item.html">

<polymer-element name="x-item" extends="paper-item">
    ...
</polymer-element>


@CustomTag('x-item')
class XItem extends PaperItem with Polymer, Observable {
    XItem.created() : super.created() {
        super.polymerCreated();
    }
}

我得到了

Breaking on exception: NotSupportedError: Registration failed for type 'x-item'. The tag name specified in 'extends' is a custom element name. Use inheritance instead.

如果我删除聚合物模板定义的扩展部分,我又什么也得不到。页面中放置了 Polymer 元素的地方,除了空白什么都没有。

如果我通过导入实际的 JS 版本 polymer-item.html 仍然会发生之前的错误

<link rel="import" href="../../packages/paper_elements/src/paper-item/paper-item.html">

虽然我仍然需要使用 super.polymerCreated(); 扩展 PaperItem 与 Polymer 和 Observable;生成该错误。

我知道 Polymer Dart 团队做了一些诡计来让底层的纸元素(用 JS 编写)几乎像 Polymer Dart 元素一样工作。我想这就是造成问题的原因。我的问题是如何克服这个问题,以便我可以在 Dart 中扩展一个纸元素?

更新 - 已提交错误 https://code.google.com/p/dart/issues/detail?id=20388

【问题讨论】:

  • 您在第二个示例中添加的内容仅在扩展 DOM 元素时才需要。
  • 我知道,但我很绝望,并认为它可能会奏效。它还阻止其他人建议它
  • 我试过了也对我不起作用。

标签: dart dart-polymer


【解决方案1】:

我试过了,它也对我不起作用。
我很确定这是纸元素/核心元素中使用的 Polymer.js 元素的 Dart 包装器的错误/缺失功能。

您尚未添加元素的 HTML。 您的扩展元素模板是否包含 &lt;shadow&gt;&lt;/shadow&gt; 元素?

<polymer-element name="x-item" extends="paper-item">
   <template>
     <shadow></shadow>
   </template>
</polymer-element>

【讨论】:

  • 我也确定这也是一个错误。他们可能还没有达到那部分。
  • 同时我将使用聚合。我相信 4 人帮还是建议过度继承 :-)
  • 您打算提交错误/功能请求吗?
  • 是的,我会尽快
猜你喜欢
  • 1970-01-01
  • 2015-08-28
  • 2013-12-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多