blear.classes.watcher

1Introduction

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

8Reference