1.绑定页面事件
<html>
<head>
<script src="rx.lite.js" ></script>
</head>
<body>
<input id="input" type="text" />
<div id="results"></div>
<script type="text/javascript">
var input = document.getElementById('input');
Rx.config.useNativeEvents = true;
Rx.Observable.fromEvent(input, 'keyup')
.map(e => e.target.value)
.filter(text => text.length > 2)
.throttle(1000)
.subscribe(results => {
console.log(results);
});
</script>
</body>
</html>
配置
Rx.config.useNativeEvents
为true
采用本地DOM的事件
当input
触发keypress
事件时,map
获取当前事件的值,filter
筛选出长度大于2,throttle
设置间隔时间为1000毫秒
各种观察、各种方法
2.创建自定义的事件
var subject = new Rx.Subject();
var subscription = subject.subscribe(function (data) {
console.log('data: ' + data);
});
subject.onNext('test');
subscription.dispose();
// => data: test
通过
onNext
和subscribe
实现最基本的发布和订阅