Observable 映射
Observable 映射
observable.map(values, options?)
observable.map(values?)
- 创建一个动态键的 observable 映射。 如果你不但想对一个特定项的更改做出反应,而且对添加或删除该项也做出反应的话,那么 observable 映射会非常有用。observable.map(values)
中的 values 可以是对象、 数组或者字符串键的 ES6 map。
通过 ES6 Map 构造函数,你可以使用 observable(new Map())
或使用装饰器 @observable map = new Map()
的类属性来初始化 observable 映射 。
下列 observable 映射所暴露的方法是依据 ES6 Map 规范:
has(key)
- 返回映射是否有提供键对应的项。注意键的存在本身就是可观察的。
以下函数不属于 ES6 规范,而是由 MobX 提供:
toJS()
- 将 observable 映射转换成普通映射。
observable.map(values, { deep: false })
任何分配给 observable
映射的值都会默认通过 observable
来传递使其转变成可观察的。 创建浅映射以禁用此行为,并按原样存储值。关于此机制的更多详情,请参见 装饰器。
observable.map(values, { name: "my map" })
name
选项用来给数组一个友好的调试名称,用于 spy
或者 MobX 开发者工具。