我正在创建我的第一个聚合物应用程序/示例,但是一个简单的button on-click
无法正常工作。该方法未调用。我想使用一个简单的按钮而不创建一个新的聚合物元素(注释的代码)。如果我使用聚合物元件中的按钮,它们就可以正常工作。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Button</title>
<link rel="stylesheet" href="button.css">
<script src="packages/polymer/boot.js"></script>
</head>
<body>
<h1>Button</h1>
<template id="tmpl" bind>
<button on-click="myMethod">Click me!</button><!! DOES NOT WORK!!! -->
</template>
<!--
<polymer-element name="my-element" extends="div">
<template>
<p>
<button on-click="myMethod">Show Message</button>
<button on-click="myMethod">Hide Message</button>
</p>
</template>
</polymer-element>
<my-element id="test"></my-element>-->
<script type="application/dart" src="button.dart"></script>
</body>
</html>
。
import 'dart:html';
import 'package:polymer/polymer.dart';
void main() {
query("#tmpl").model = new MyClass();
}
@CustomTag('my-element')
class MyClass extends PolymerElement with ObservableMixin{
@observable String name="testname";
void myMethod(var e, var detail, var target) {
print("button works");
}
}
编辑:我刚刚意识到我的按钮从聚合物元素中调用的
myMethod
无法访问模板tmpl
中定义的其他元素的数据(例如单选按钮或复选框)。
最佳答案
是的,on-*
属性仅在Polymer元素内起作用。
关于dart - polymer Dart 中的按钮单击不起作用;需要 polymer 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18553448/