=0-6ren">
gpt4 book ai didi

html - 在Dart中扩展dart:html类 “ButtonElement”

转载 作者:行者123 更新时间:2023-12-03 03:18:54 26 4
gpt4 key购买 nike

我尝试扩展<button>,但是到目前为止没有成功。
我究竟做错了什么。我正在使用Dart Editor + SDK 1.5.2
在pubspec.yaml中,Polymer的版本设置为:

polymer: ">=0.11.0 <0.12.0"

index.html
<!DOCTYPE html>

<html>
<head>
<!-- <script src="packages/web_components/platform.js"></script>
not necessary anymore with Polymer >= 0.14.0 -->
<script src="packages/web_components/dart_support.js"></script>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Extended Button - Dart v1.5.2</title>

<!--Extended Button-->
<link rel="import" href="view/ext_button.html" />

</head>
<body>

<button is="ext-button">Test Button</button>

<script type="application/dart">export "package:polymer/init.dart";</script>
</body>
</html>

View /ext_button.dart
import "dart:html";
import "package:polymer/polymer.dart";

@CustomTag("ext-button")
class ExtButton extends ButtonElement {

ExtButton.created() : super.created();

factory ExtButton(){
onClick.listen(clicked);
}

void clicked(MouseEvent e){
print("Ext-Button clicked");
}
}

view / ext_button.html
<!DOCTYPE html>
<link rel="import" href="packages/polymer/polymer.html">

<polymer-element name="ext-button" extends="button">
<template>
</template>
<script type="application/dart" src="ext_button.dart"></script>
</polymer-element>

因此上面的代码不起作用,但是像下面这样写(只是为了验证ext-button的工作原理),它告诉我以下内容:
“web / index.html:20:7:自定义元素” ext-button“从” button“扩展而来,但是此标记将不包含” button“的默认属性。
要解决此问题,请将该标签写为 <button is="ext-button">或从自定义元素声明中删除“extends”属性。”
<ext-button>Test Button</ext-button>

有点困惑;-)我认为修复很容易而且很简单-但我只是没有看到问题;-(

最佳答案

据我所知,您缺少以下方面:

  • 在自定义元素构造函数中对polymerCreated()的调用。
  • extends ButtonElement with Polymer

  • 已经有类似的问题。等我有更多时间后,我会去找他们。也许您同时发现了它们。如果这样做,请添加带有链接的评论。

    关于html - 在Dart中扩展dart:html类 “ButtonElement”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24576142/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com