zoukankan      html  css  js  c++  java
  • [Angular 2] Mapping Streams to Values to Affect State

    While you have multiple streams flowing into your scan operator, you'll need to map each stream to the specific values you need to update your state the way that you want. This lesson covers using the map operator to determine what the click and interval should do when the state is updated.

    import {Component} from 'angular2/core';
    import {bootstrap} from 'angular2/platform/browser';
    import {Observable} from 'rxjs/Observable';
    import 'rxjs/add/observable/interval';
    import 'rxjs/add/observable/merge';
    import 'rxjs/add/operator/map';
    import 'rxjs/add/operator/scan';
    import 'rxjs/add/operator/startWith';
    import {Subject} from 'rxjs/Subject';
    
    @Component({
        selector: 'app',
        template: `
            <button (click)="click$.next()">Add one second</button>
            <h1>{{clock | async | date: 'yMMMMEEEEdjms'}}</h1>
        `
    })
    
    class App {
    
        click$ = new Subject();
        clock;
        constructor(){
    
            this.clock = Observable.merge(
                Observable.interval(1000).mapTo('second'),
                this.click$.mapTo('hour')
            )
                .startWith(new Date())
                .scan( (acc: Date, curr: string) => {
                    // acc: new Date() passed from startWIth
                    // curr: string, passed from mapTo
                    console.log(acc, curr);
                    const date: Date = new Date(acc.getTime());
                    if(curr === "second"){
                        date.setSeconds(date.getSeconds() + 1);
                    }
    
                    if(curr === "hour"){
                        date.setHours(date.getHours() +1 );
                    }
    
                    return date;
                });
        }
    }
    
    bootstrap(App);
  • 相关阅读:
    学习进度条第十周
    学习进度条第九周
    结巴分词python
    竞品分析
    学期总结(一)------文献挖掘
    分类结果评估
    scrapy 爬虫怎么写入日志和保存信息
    Python 安装 imread报错
    Python爬虫爬中文却显示Unicode,怎样显示中文--问题解答
    Python网络数据采集二
  • 原文地址:https://www.cnblogs.com/Answer1215/p/5436090.html
Copyright © 2011-2022 走看看