当前意味着在Dart Polymer中扩展自定义元素?

jba*_*xe2 5 dart dart-polymer

我正在尝试使用Polymer和Dart创建一些自定义元素,这些元素都扩展了一个自定义元素.遵循Seth Ladd的G +帖子的指示(虽然过时且未维护,但仍然是我可以找到的用于扩展自定义[非DOM]元素的唯一参考):

https://plus.google.com/+SethLadd/posts/7Ed4GUWZB26

这是我试图做的事情类型的精简示例代码:

基本元素HTML:

<link rel='import' href='packages/polymer/polymer.html'>
<polymer-element name='base-element'>
<template>
  ... stuff here relating to template ...
</template>
<script type='application/dart' src='base-element.dart'></script>
</polymer-element>
Run Code Online (Sandbox Code Playgroud)

基本元素Dart:

import 'package:polymer/polymer.dart';
@CustomTag('base-element')
class BaseElement extends PolymerElement {
  BaseElement.created() : super.created();
  ... other base class stuff here ...
}
Run Code Online (Sandbox Code Playgroud)

第一个自定义子类元素HTML:

<link rel='import' href='packages/polymer/polymer.html'>
<link rel='import' href='base-element.html'>
<polymer-element name='sub-element-1' extends='base-element'>
<script type='application/dart' src='base-element.dart'></script>
</polymer-element>
Run Code Online (Sandbox Code Playgroud)

第一个自定义子类元素Dart:

import 'package:polymer/polymer.dart';
import 'base-element.dart';
@CustomTag('sub-element-1')
class SubElement1 extends BaseElement {
  SubElement1.created() : super.created();
  ... other subclass stuff here ...
}
Run Code Online (Sandbox Code Playgroud)

我遇到的主要问题是Dart编辑器给我的错误(在运行时):

"打破异常:NotSupportedError:类型'子元素-1'的注册失败.'extends'中指定的标记名称是自定义元素名称.请改用继承."

编辑器似乎不喜欢子元素HTML中的extends ='base-element'部分.但是如果你拿出那个部分,即使Dart代码确实使用了继承,基本元素的模板化HTML也会被忽略.所以,最后我对这篇文章的问题是:

您当前如何创建扩展其他自定义元素的自定义元素,以便它们使用基本元素的模板?

任何帮助和/或信息将不胜感激,并提前感谢.

jba*_*xe2 1

显然,我在导入基本元素的 Dart 文件时出现了拼写错误(在我的实际代码中,而不是上面的示例),这导致其他所有内容都失败了。这仍然是扩展自定义元素的正确方法,并且子元素将使用基本元素的模板。有时,在编程时,最小的事情可能会引起最大的头痛......