Polymer Dart @observable的行为不同

Not*_* ID 2 dart dart-polymer

在以下Polymer Dart代码中:

@observable Map hisMap = toObservable(new Map());    // Line 1
@observable String hisString = '';                   // Line 2
Run Code Online (Sandbox Code Playgroud)

为什么Line 1需要toObservable而Line 2不需要它?

Gün*_*uer 6

第1行

如果您不使用toObservable仅更改hisMap将被识别.例如,当您hisMap为地图内的值分配另一个地图而不是更改时.还toObservable可以观察地图的内容,并且添加,删除,替换地图中的项目会产生更改事件.

2号线

此值可以更改的唯一方法是分配另一个字符串hisString.字符串是不可变的,映射不是.