我注意到,如果我不在我@observable
的任何 web ui 代码中使用所有字段/成员更改,都会使用数据绑定语法自动获取。
我遇到的问题是在扩展 WebComponent 的类中选择一个字段并应用@observable
注释时,现在其他字段无法正确绑定并显示更改。
这是一个已知问题还是正确的功能?
如果我使用@observable
一次注释,我应该将它应用于所有字段吗?
我注意到,如果我不在我@observable
的任何 web ui 代码中使用所有字段/成员更改,都会使用数据绑定语法自动获取。
我遇到的问题是在扩展 WebComponent 的类中选择一个字段并应用@observable
注释时,现在其他字段无法正确绑定并显示更改。
这是一个已知问题还是正确的功能?
如果我使用@observable
一次注释,我应该将它应用于所有字段吗?
如另一篇文章所述,您可以选择使用@observable
.
你目前被夹在可观察者和观察者之间。观察者(和调度)是旧的方式,很快就会被淘汰。Observables 是新的方式。为了不破坏老客户,我们保留了观察者。如果您至少使用了一个@observable
,那么观察者系统将被禁用。
新的 MDV v2 实施正在准备中。我建议你使用@observable
任何你想要观察的东西。停止dispatch()
到处使用。此外,停止使用可观察的顶级字段,因为它们不能绑定到节点中。
抱歉,事情确实处于不断变化的状态。我怀疑事情很快就会解决。
我建议在此处阅读有关 MDV v2 的更多信息:https ://github.com/toolkitchen/mdv/blob/stable/README.md为更改做好准备。
我怀疑@observable
将继续成为一种选择,因此现在可以继续使用它。
从这里的文档来看,这对我来说似乎是设计使然。的目标@observable
是将该成员标记为对绑定感兴趣,与其他成员不同。
@observable
如果您不想单独注释每个字段,也可以注释类本身:Marking a class as @observable is the same as marking all of its fields as @observable
今天,我有一个很好的发现@observable
:如果你在组件的 dart 代码之外更改了一个观察值(使用query("#component_id").xtag
),该字段需要标记为@observable
- 否则,组件不会注意到对值的更改。
或者,在更改值之后,可以调用dispatch()
. 我目前正在测试更快的方法,但我认为它可能是注释。
这不是对该问题的直接答案,但在决定使用或不使用注释时可能值得考虑这一点。