angular8和ngrx8结合使用的步骤介绍
- 作者: 立地太岁阮小二
- 来源: 51数据库
- 2021-08-01
一、案例运行后的效果图

二、关于ngrx的认识
1、
2、ngrx是借鉴redux的思维,专门为angular中定制的一个状态管理的包,类似react中的redux、vue中的vuex,主要包括以下几个模块(本文先介绍@ngrx/store)
- @ngrx/store
- @ngrx/store-devtools
- @ngrx/effects
- @ngrx/router-store
- @ngrx/entity
- @ngrx/data
- @ngrx/schematics
3、需要使用ngrx的场景
- 在angular项目开发中属于非必须的
- 大项目中需要进行组件通讯,数据共享
三、构建项目
1、使用@angular/cli初始化项目
ng new angular-ngrx
2、创建一个数据的module(手动修改名字为appstoremodule,不然会和@ngrx/store中的重名)
ng g m store
3、在store文件夹下创建三个文件夹
- actions
- reducers
- selectors(非必须的,仅仅是对于一个状态树是对象的时候,写一个方法选择状态树中的一个节点)
4、手动安装@ngrx/store
npm install @ngrx/store --save
5、手动安装@ngrx/store-devtools
npm install @ngrx/store-devtools --save
6、在reducers文件夹下创建index.ts(使用ng add @ngrx/store会默认生成的)
import {
actionreducermap,
metareducer
} from '@ngrx/store';
import { environment } from '../../../environments/environment';
// 项目中全部的状态
export interface state {}
// 全部的reducer函数
export const reducers: actionreducermap<state> = {};
export const metareducers: metareducer<state>[] = !environment.production ? [] : [];
7、浏览器要安装redux插件
8、在store.module.ts中配置浏览器调试的见
@ngmodule({
declarations: [],
imports: [
storemodule.forroot(reducers, {
metareducers,
runtimechecks: {
strictstateimmutability: true,
strictactionimmutability: true,
strictstateserializability: true,
strictactionserializability: true,
}
}),
storedevtoolsmodule.instrument({
maxage: 20,
logonly: environment.production
})
]
})
export class appstoremodule { }
四、在项目中使用@ngrx/store
1、代码的使用见中的book组件
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。
推荐阅读
热点文章
Angular中响应式表单的三种更新值方法详析
7
Angularjs实现下拉框联动的示例代码
7
详解AngularJS跨页面传值(ui-router)
2
详解AngularJS1.x学习directive 中‘& ’‘=’ ‘@’符号的区别使用
3
angular2路由切换改变页面title的示例代码
4
Angular2 组件间通过@Input @Output通讯示例
5
Angularjs中ng-repeat的简单实例
3
AngularJS 中ui-view传参的实例详解
4
浅谈Angular路由守卫
4
详解基于Angular4+ server render(服务端渲染)开发教程
4
