有人可以告诉我一些信息
@observable
@published
与toObservable
想象一下,我的.dart文件有一个
@observable List array = toObservable([]);
该数组将传递给另一个polyview。
我应该写
@published List array;
或
@published List array = toObservable([]);
我是否必须对已经初始化为toObservable
的已发布值重复toObservable
...
喜欢拥有3到4级的复杂对象
migrationview observable migration
- actionsview published actions -> migration.actions
-createTableview published createTable -> actions.createTables
-tableview published table -> createTables.table
-columnview published columns -> table.columns
我想确保列视图中所做的更改 例如,向列添加列表 将被可观察的迁移对象识别..
做某事的正确方法......特别是在使用课程时
我应该只将地图和列表指定为toObservable()
怎么样的
Migration migration = toObservable(new Migration()); // ???????
我已将迁移内的列表和地图定义为@observable
答案 0 :(得分:2)
只需在列表或地图上拨打toObservable([])
一次就足够了,即使您传递它也是如此。
将可观察集合分配给字段并在绑定表达式中使用此字段时,您还需要使该字段可观察(与@published
注释一样。)
使列表本身可观察只是为了向Polymer通知列表中的添加/删除,但Polymer还需要知道有一些新的分配需要在视图中反映出来。
如果您要在Polymer绑定表达式中使用自定义模型类,请使用Observable
mixin并添加@observable
注释。
有关详细信息,请参阅Implement an Observer pattern in Dart
extends PolymerElement
已包含Observable
mixin
@published
隐含@observable
如果您创建一个新列表,您当然需要使其可观察以获取更改通知。
@published List array = toObservable([1,2,3,4]);
如果您始终创建新列表但从不更改现有列表,则根本不需要toObservable([])
。