dart mdv数据绑定不会在更改时更新

时间:2013-09-04 09:25:23

标签: dart polymer

我正在努力让数据绑定在dart中工作。基本上我和这个video做同样的事情。使用伪代码看起来像这样:

mdv.init();
var p = new Person('john');
query('#someId').model = p;

在html文件中,我还有一个正常运行的模板。目前我只是想让单向数据绑定工作,虽然模板已正确初始化,但变量p的后续更改在模板中不可见。我试图触发像这样的更新

node.model = null;
node.model = p;

但这并不会触发更新。但如果我使用延迟它确实有效:

node.model = null;
new Timer(new Duration(milliseconds:20),(){ 
  node.model = p;
});

所以我对此有几个问题:

  1. 为什么变量中的更改不会反映模板中的更改?
  2. 模板不应该更新我正在做的方式吗?或者mdv /聚合物是否按照预期的方式工作?
  3. 是否可以手动触发模板更新?
  4. 是否可以轻松地将单向转换为双向数据绑定(即通过在psuedocode中观察Person类或其他东西)?
  5. PS我在发布之前搜索并尝试了几件事。我找到了一个topic,其中创建了一个自定义聚合物元素,这似乎比我想要的更麻烦。我也试过了花哨的语​​法lib(这没有改进它)和数据手册(编译错误)。我还阅读了几页关于polymer的内容,但我不确定什么与dart相关并且没有被弃用(或“陈旧”作为页面上方的警告提及)。

1 个答案:

答案 0 :(得分:0)

您需要以下软件包之一,以便在更改时自动更新绑定。

documentation (Observables)

我仍然建议你只需将“polymer”作为依赖项(删除mdv)添加到pubspec.yaml。这样您就不必处理版本问题了,您可以保证一组“确认”的包一起工作。