美文网首页angular
angular--观察者模式与rxjs

angular--观察者模式与rxjs

作者: 林ze宏 | 来源:发表于2018-01-06 10:29 被阅读0次
image.png
var subscription = Observable.from([1,2,3,4])
  .filter((e) => e%2 == 0)
  .map((e) => e*e)
  .subscribe(
      e => console.log(e),
      error => console.error(error),
      () => console.log('结束啦')
);

- 可观察对象Observable(流):表示一组值或者事件的集合,
    如:
        一组值:Observable.from([1,2,3,4]) 中的 [1,2,3,4],
        事件:var button = document.querySelector('button');
        Observable.fromEvent(button, 'click')

- 观察者Observer:一个回调函数集合,它知道怎样去监听被Observable发送的值,
    如:
      e => console.log(e),
      error => console.error(error),
      () => console.log('结束啦')

- 订阅Subscription:表示一个可观察对象,主要用于取消注册(subscription.unsubscribe()),
  这个是Observable 调用 subscribe 方法所返回的对象subscription 

- 操作符Operators:纯粹的函数,使开发者可以以函数编程的方式处理集合,
    如:
      filter、map等函数

app.module.ts:导入响应式编程需要的模块ReactiveFormsModule

import { FormsModule, ReactiveFormsModule } from '@angular/forms';

imports: [
    FormsModule,
    ReactiveFormsModule
  ],

界面:

<input [formControl]= "inputSearch"/>

.ts文件:

import { Component, OnInit } from '@angular/core';
import {FormControl} from '@angular/forms';
import 'rxjs/add/operator/debounceTime';
// import 'rxjs/Rx'; 在黑白单中,不能这样导入,应该导入需要使用的 子模块,例如debounceTime子模块
/*
在tslint.json中,导入黑名单 import-blacklist;rxjs和rxjs/Rx被列入黑名单
"import-blacklist": [
  true,
  "rxjs",
  "rxjs/Rx"
], */
@Component({
  selector: 'app-home',
  templateUrl: './home.component.html',
  styleUrls: ['./home.component.css']
})
export class HomeComponent implements OnInit {

  inputSearch: FormControl = new FormControl();
  constructor() { 
    this.inputSearch.valueChanges
      .debounceTime(500)
      .subscribe(
        stockCode => this.getStock(stockCode)
      );
  }

  ngOnInit() {
  }
  getStock(val: string) {
    console.log(val);
  }

}

相关文章

  • angular--观察者模式与rxjs

    app.module.ts:导入响应式编程需要的模块ReactiveFormsModule 界面: .ts文件:

  • rxjs

    rxjs使用观察者模式、迭代器模式以及函数式编程实现一种理想的、管理序列事件的方式rxjs的基础概念 Observ...

  • 【angular】Observable & RxJs

    该知识点还未学习,先转载备份...... 状态管理?observables:观察者与订阅者模式RxJs 本文转自知...

  • Rx.js 入门

    基本概念 1、RxJS 是基于观察者模式和迭代器模式以函数式编程思维来实现的。RxJS 中含有两个基本概念:Obs...

  • 响应式编程和管道

    双向绑定 使用双向绑定文本框中的值始终和name值一致 响应式编程 观察者模式与rxjs,观察者注册可观察对象,可...

  • Rxjs笔记二:创建Observable对象以及发送终止信号给O

    在Rxjs中,每个Observable对象,代表的就说在一段时间范围内发生的一系列事件。Rxjs结合了观察者模式和...

  • rxjs学习入门心得(二)观察者

    推荐我的Rxjs教程:Rxjs系列教程目录 Observer (观察者) 什么是观察者?-前面的博客我们讲了Obs...

  • 30 天精通 RxJS (05) - 代码升级V6

    由于原贴02-04主要介绍的是函数式编程,观察者模式,迭代器模式。其相关的代码和RxJS版本关系不大。所以02-0...

  • RxJs - Observerable

    参考文献:RxJS 简介:可观察对象、观察者与操作符 名词解释: Observerable:可观察对象 obser...

  • RxJS系列教程(三) RxJS与函数式编程

    可以这么说,响应式编程是继承自函数式编程。从Rx的官网上我们看到这样的定义: RxJS是结合了观察者模式,迭代器模...

网友评论

    本文标题:angular--观察者模式与rxjs

    本文链接:https://www.haomeiwen.com/subject/zlzenxtx.html