在 Dart 中使用聚合物我想观察一个值并将一个按钮绑定到一个改变它的函数。以下示例代码(test.dart)应该阐明我要做什么
import 'dart:html';
import 'package:polymer/polymer.dart';
import 'package:observe/observe.dart';
import 'package:mdv/mdv.dart' as mdv;
class App extends Object with ObservableMixin {
int _counter = 0;
int get counter => _counter;
void set counter(int c) {
print("counter set to $c");
int oldValue = _counter;
_counter = notifyPropertyChange(const Symbol('counter'), _counter, c);
}
increment(var event) {
print("increment");
counter = counter + 1;
}
}
main() {
mdv.initialize();
var app = new App();
query("#tmpl1").model = app;
}
与此 HTML 一起使用
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
</head>
<body>
<template id="tmpl1" bind>
<button on-click="increment">{{counter}}</button>
</template>
<script type="application/dart" src="test.dart"></script>
<script src="packages/browser/dart.js"></script>
</body>
</html>
我希望单击按钮时会调用App类中的增量,但没有任何反应。我确信我忽略了一些简单的事情,因为这肯定是可能的。
注意要运行上面的示例代码,您不需要创建build.dart文件,因为没有使用自定义元素。