[Angular 2] Dispatching Action with Payloads and type to Reducers
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了[Angular 2] Dispatching Action with Payloads and type to Reducers,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2036字,纯文字阅读大概需要3分钟。
内容图文
While action types allow you tell your reducer what action it should take, the payload is the data that your reducer will use to update the state.
// reducer.ts export const SECOND = "SECOND"; export const HOUR = "HOUR"; export const clock = (state = new Date(), {type, payload})=> { const date = new Date(state.getTime()); switch(type){ case SECOND: date.setSeconds(date.getSeconds() + payload); return date; case HOUR: date.setHours(date.getHours() + payload); return date; } return state; };
// app.ts /* * * Created by wanzhen on 26.4.2016. */ import {Component} from ‘ angular2/core ‘ ; import {Observable} from ‘ rxjs/Observable ‘ ; import ‘ rxjs/add/observable/interval ‘ ; import ‘ rxjs/add/operator/map ‘ ; import ‘ rxjs/add/observable/merge ‘ ; import ‘ rxjs/add/operator/startWith ‘ ; import ‘ rxjs/add/operator/scan ‘ ; import ‘ rxjs/add/operator/mapTo ‘ ; import {Subject} from " rxjs/Subject " ; import {Store} from ‘ @ngrx/store ‘ ; import {SECOND, HOUR} from ‘ ./reducer ‘ ; @Component({ selector: ‘ app ‘ , template: ` <button (click)="click$.next()">Update</button> <h1>{{clock | async | date:‘yMMMMEEEEdjms‘}}</h1> ` }) export class App { click$ = new Subject(); clock; constructor(store:Store) { this.clock = store.select(‘clock‘); Observable.merge( this.click$.mapTo({type: HOUR, payload: 1}), Observable.interval(1000).mapTo({type: SECOND, payload: 1}) ) .subscribe((action)=>{ store.dispatch(action) }) } }
// main.ts import {bootstrap} from ‘ angular2/platform/browser ‘ ; import {App} from ‘ ./app ‘ ; import {provideStore} from ‘ @ngrx/store ‘ ; import {clock} from ‘ ./reducer ‘ ; bootstrap(App, [ provideStore({clock}) ]).then( ()=> console.log(‘App running...‘), err=> console.log(err) ); /* * 1. Create a reducer * 2. Use provideStore({reducer_name}) to provide store * 3. Use store.select(‘reducer_name‘) to get store in Observable type * 4. Apply logic to dispatch the action * */
原文:http://www.cnblogs.com/Answer1215/p/5437348.html
内容总结
以上是互联网集市为您收集整理的[Angular 2] Dispatching Action with Payloads and type to Reducers全部内容,希望文章能够帮你解决[Angular 2] Dispatching Action with Payloads and type to Reducers所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。