在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文件正在使用的任何自定義元素。
看來,最新的SDK(0.6.13.0_r25630)打破了一些東西,來自飛鏢聚合物飛鏢示例的示例停止使用此更新。 – Lesiak