4

我注意到,如果我不在我@observable的任何 web ui 代码中使用所有字段/成员更改,都会使用数据绑定语法自动获取。

我遇到的问题是在扩展 WebComponent 的类中选择一个字段并应用@observable注释时,现在其他字段无法正确绑定并显示更改。

这是一个已知问题还是正确的功能?

如果我使用@observable一次注释,我应该将它应用于所有字段吗?

4

3 回答 3

4

如另一篇文章所述,您可以选择使用@observable.

你目前被夹在可观察者和观察者之间。观察者(和调度)是旧的方式,很快就会被淘汰。Observables 是新的方式。为了不破坏老客户,我们保留了观察者。如果您至少使用了一个@observable,那么观察者系统将被禁用。

新的 MDV v2 实施正在准备中。我建议你使用@observable任何你想要观察的东西。停止dispatch()到处使用。此外,停止使用可观察的顶级字段,因为它们不能绑定到节点中。

抱歉,事情确实处于不断变化的状态。我怀疑事情很快就会解决。

我建议在此处阅读有关 MDV v2 的更多信息:https ://github.com/toolkitchen/mdv/blob/stable/README.md为更改做好准备。

我怀疑@observable将继续成为一种选择,因此现在可以继续使用它。

于 2013-05-07T05:32:31.280 回答
3

这里的文档来看,这对我来说似乎是设计使然。的目标@observable是将该成员标记为对绑定感兴趣,与其他成员不同。

@observable如果您不想单独注释每个字段,也可以注释类本身:Marking a class as @observable is the same as marking all of its fields as @observable

于 2013-05-06T12:22:14.547 回答
1

今天,我有一个很好的发现@observable:如果你在组件的 dart 代码之外更改了一个观察值(使用query("#component_id").xtag),该字段需要标记为@observable- 否则,组件不会注意到对值的更改。

或者,在更改值之后,可以调用dispatch(). 我目前正在测试更快的方法,但我认为它可能是注释。

这不是对该问题的直接答案,但在决定使用或不使用注释时可能值得考虑这一点。

于 2013-05-06T22:16:45.640 回答