angular8和ngrx8结合使用的步骤介绍


Posted in Javascript onDecember 01, 2019

一、案例运行后的效果图

angular8和ngrx8结合使用的步骤介绍

二、关于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、代码的使用见github中的book组件

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
jQuery中的常用事件总结
Dec 27 Javascript
在Windows上安装Node.js模块的方法
Sep 25 Javascript
给html超链接设置事件不使用href来完成跳
Apr 20 Javascript
jQuery插件开发详细教程
Jun 06 Javascript
Bootstrap每天必学之表格
Nov 23 Javascript
bootstrap弹出层的多种触发方式
May 10 Javascript
Vue添加请求拦截器及vue-resource 拦截器使用
Nov 23 Javascript
微信小程序实现action-sheet弹出底部菜单功能【附源码下载】
Dec 09 Javascript
Echart折线图手柄触发事件示例详解
Dec 16 Javascript
微信小程序页面间传值与页面取值操作实例分析
Apr 30 Javascript
记一次用ts+vuecli4重构项目的实现
May 21 Javascript
vue中的.$mount('#app')手动挂载操作
Sep 02 Javascript
angular异步验证防抖踩坑实录
Dec 01 #Javascript
如何利用node.js开发一个生成逐帧动画的小工具
Dec 01 #Javascript
Node.js中console.log()输出彩色字体的方法示例
Dec 01 #Javascript
Node.js控制台彩色输出的方法与原理实例详解
Dec 01 #Javascript
vue多个元素的样式选择器问题
Nov 29 #Javascript
解决Angularjs异步操作后台请求用$q.all排列先后顺序问题
Nov 29 #Javascript
vue 组件开发原理与实现方法详解
Nov 29 #Javascript
You might like
电脑硬件及电脑配置知识大全
2020/03/17 数码科技
建立文件交换功能的脚本(一)
2006/10/09 PHP
php读取EXCEL文件 php excelreader读取excel文件
2012/12/06 PHP
php通过array_push()函数添加多个变量到数组末尾的方法
2015/03/18 PHP
Zend Framework数据库操作方法实例总结
2016/12/11 PHP
JavaScript 数组运用实现代码
2010/04/13 Javascript
用JQuery实现表格隔行变色和突出显示当前行的代码
2012/02/10 Javascript
JavaScript中的toLocaleLowerCase()方法使用详解
2015/06/06 Javascript
javascript中call apply 与 bind方法详解
2016/03/10 Javascript
canvas实现图像放大镜
2017/02/06 Javascript
基于vue的短信验证码倒计时demo
2017/09/13 Javascript
轻松搞定jQuery+JSONP跨域请求的解决方案
2018/03/06 jQuery
p5.js 毕达哥拉斯树的实现代码
2018/03/23 Javascript
vue的token刷新处理的方法
2018/07/17 Javascript
快速了解Node中的Stream流是什么
2019/02/13 Javascript
JS代码触发事件代码实例
2020/01/02 Javascript
Vue利用localStorage本地缓存使页面刷新验证码不清零功能的实现
2020/09/04 Javascript
Python map和reduce函数用法示例
2015/02/26 Python
Django自定义分页效果
2017/06/27 Python
python opencv检测目标颜色的实例讲解
2018/04/02 Python
python 脚本生成随机 字母 + 数字密码功能
2018/05/26 Python
python读取并定位excel数据坐标系详解
2019/06/26 Python
pycharm 安装JPype的教程
2019/08/08 Python
Python3离线安装Requests模块问题
2019/10/13 Python
音乐系毕业生自荐信
2013/10/27 职场文书
矫正人员思想汇报
2014/01/08 职场文书
2014年十一国庆向国旗敬礼寄语
2014/04/11 职场文书
机电一体化毕业生自荐信
2014/06/19 职场文书
2014年“向国旗敬礼”网上签名寄语活动方案
2014/09/27 职场文书
四风问题对照检查材料思想汇报
2014/10/07 职场文书
2014年学校教学工作总结
2014/12/06 职场文书
2015年初中生自我评价范文
2015/03/03 职场文书
入党自传范文2015
2015/06/26 职场文书
学生检讨书范文
2019/06/24 职场文书
idea编译器vue缩进报错问题场景分析
2021/07/04 Vue.js
最新最全的手机号验证正则表达式
2022/02/24 Javascript