gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 04:07:49 24 4
gpt4 key购买 nike

我正在尝试让数据绑定(bind)在 Dart 中工作。基本上我做的和这个 video 一样.使用伪代码它看起来像这样:

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

在 html 文件中,我还有一个可以正常工作的模板。现在我只是试图让数据绑定(bind)工作的一种方式,虽然模板已正确初始化,但对变量 p 的后续更改在模板中不可见。我试图触发这样的更新
node.model = null;
node.model = p;

但是,这不会触发更新。但如果我使用延迟它确实有效:
node.model = null;
new Timer(new Duration(milliseconds:20),(){
node.model = p;
});

所以我对此有几个问题:
  • 为什么变量的变化不能反射(reflect)模板的变化?
  • 模板不应该更新我的工作方式吗?还是 mdv/polymer 没有按照预期的方式工作?
  • 是否可以手动触发模板更新?
  • 是否可以轻松地将单向数据绑定(bind)转换为双向数据绑定(bind)(即通过使伪代码中的 Person 类可观察或其他方式)?

  • PS我在这里发布之前搜索并尝试了几件事。我找到了 topic在其中创建了一个定制的 polymer 元素,这似乎比我想要的更麻烦。我还尝试了花式语法库(这并没有改进它)和数据绑定(bind)器(编译错误)。我还阅读了几页关于 polymer ,但我不确定什么与 Dart 相关并且没有被弃用(或页面上方的警告中提到的“陈旧”)。

    最佳答案

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

  • mdv_observe
  • observe

  • documentation (Observables)

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

    关于dart mdv 数据绑定(bind)不会在更改时更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18610048/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com