【发布时间】:2014-07-11 06:29:20
【问题描述】:
我想知道如何使用 Dart 构建时钟(日期和当前时间)。我会将生成的 observable 字符串(因此它会自动刷新)绑定到 HTML Polymer 元素。
我曾想过使用计时器来使用 DateTime.now() 刷新字符串,但这似乎是一种解决方法,而不是最佳解决方案。
我只需要知道如何编写 dart 文件,因为 HTML 和 Polymer 元素已经配置好了。
【问题讨论】:
标签: dart dart-polymer
我想知道如何使用 Dart 构建时钟(日期和当前时间)。我会将生成的 observable 字符串(因此它会自动刷新)绑定到 HTML Polymer 元素。
我曾想过使用计时器来使用 DateTime.now() 刷新字符串,但这似乎是一种解决方法,而不是最佳解决方案。
我只需要知道如何编写 dart 文件,因为 HTML 和 Polymer 元素已经配置好了。
【问题讨论】:
标签: dart dart-polymer
你可以看看这个例子
https://github.com/bwu-dart/polymer_ui_elements/blob/master/example/polymer_ui_clock.html
https://github.com/bwu-dart/polymer_ui_elements/blob/master/lib/polymer_ui_clock/polymer_ui_clock.dart
它需要稍作调整才能与当前的 Polymer 版本一起使用。
var oneSecond = new Duration(seconds: 1);
_timer = new Timer.periodic(oneSecond, updateTime);
updateTime 是每秒调用一次的方法。
【讨论】:
time = new DateTime.now();)中重新读取当前时间。这个Timer.periodic 可能不会在系统时钟的第二秒发生变化时准确触发,因此偏差可能会上升到一秒但不会更多。
Timer.periodic 与精确的秒数变化相差很大时尝试重新初始化它。