我正在創建我的第一個聚合物應用/示例,並且一個簡單的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
(例如單選按鈕或複選框)中的數據的訪問權限。
好的,但我如何共享不同聚合物元素之間的數據或應用程序狀態?如果聚合物元素1將一些初始化值從x改變爲z,則聚合物元素2僅再次讀取x。 – Gero
消息傳遞是完成此操作的好方法。觸發事件和/或響應財產變化。 http://www.polymer-project.org/articles/communication.html – ebidel