1Introduction
- description:数据变化监听类
- author:ydr.me
- create:2016-12-31 02:36
- update:2017年01月07日15:27:12
- github:https://github.com/blearjs/blear.classes.watcher
2Example
数据监听。
var Watcher = require('blear.classes.watcher');
var data = {a: 1};
var watcher = new Watcher(data);
watcher.watch('a', function(newVal, oldVal, signal) {
// ....
});
3Static
3.1.defaults
3.1.1.defaults.keys
- 类型:监听的键
- 说明:默认监听所有
- 默认:
null
3.1.2.defaults.imme
- 类型:
Boolean
- 说明:是否立即反馈,
immediately
的缩写 - 默认:
false
3.1.3.defaults.deep
- 类型:
Boolean
- 说明:是否深度监听,目前未实现
- 默认:
false
4new Watcher(data, [options])
实现一个监听,同一份数据可以被多次监听。
5Prototype
5.1#watch(expression, listener, [options]): unwatch
5.1.1expression
- 类型:
String | Function
- 说明:表达式
如:
watcher.watch('a', listener);
watcher.watch('a + b', listener);
watcher.watch(function() {
return this.a + this.b;
}, listener);
6Usage
实例化之后,会在数组对象上添加以下方法用于数据监听。
6.1set(index, value)
根据索引值设置数组值。
arr = [1, 2, 1, 3];
arr.set(1, 10);
arr = [1, 10, 1, 3]
6.1.1index
- 类型:
Number
- 说明:索引值
6.1.2value
- 类型:
*
- 说明:值
6.2remove(index)
根据索引值删除指定项目。
arr = [1, 2, 1, 3];
arr.remove(1);
arr = [1, 1, 3]
6.2.1index
- 类型:
Number
- 说明:索引值
6.3delete(value)
根据值删除符合的第一个项目。
arr = [1, 2, 1, 3];
arr.delete(1);
arr = [2, 1, 3]
6.3.1value
- 类型:
*
- 说明:值
7Dependencies
- blear.classes.class
- blear.classes.events
- blear.utils.access
- blear.utils.array
- blear.utils.collection
- blear.utils.date
- blear.utils.object
- blear.utils.random
- blear.utils.typeis