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 1.0.2
Oct 11 Javascript
javascript 浏览器检测代码精简版
Mar 04 Javascript
JS 自定义带默认值的函数
Jul 21 Javascript
jQuery实现图片信息的浮动显示实例代码
Aug 28 Javascript
js读取配置文件自写
Feb 11 Javascript
jQuery+css实现的时钟效果(兼容各浏览器)
Jan 27 Javascript
Angular.js回顾ng-app和ng-model使用技巧
Apr 26 Javascript
移动端jQuery修正Web页面滑动时div问题的两则实例
May 30 Javascript
React创建组件的三种方式及其区别
Jan 12 Javascript
浅谈Vue页面级缓存解决方案feb-alive(上)
Apr 14 Javascript
JavaScript前端实现压缩图片功能
Mar 06 Javascript
JavaScript 定时器详情
Nov 11 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
第4章 数据处理-php字符串的处理-郑阿奇(续)
2011/07/04 PHP
深入PHP empty(),isset(),is_null()的实例测试详解
2013/06/06 PHP
动态为事件添加js代码示例
2009/02/15 Javascript
IE和firefox浏览器的event事件兼容性汇总
2009/12/06 Javascript
javascript中的undefined和not defined区别示例介绍
2014/02/26 Javascript
javascript页面渲染速度测试脚本分享
2014/04/15 Javascript
无限树Jquery插件zTree的常用功能特性总结
2014/09/11 Javascript
window.location 对象所包含的属性
2014/10/10 Javascript
实例讲解jQuery EasyUI tree中state属性慎用
2016/04/01 Javascript
jQuery点击其他地方时菜单消失的实现方法
2016/04/22 Javascript
Bootstrap进度条组件知识详解
2016/05/01 Javascript
jQuery实现简单漂亮的Nav导航菜单效果
2017/03/29 jQuery
详解从Vue-router到html5的pushState
2018/07/21 Javascript
JavaScript设计模式之构造器模式(生成器模式)定义与用法实例分析
2018/07/26 Javascript
关于js对textarea换行符的处理方法浅析
2018/08/03 Javascript
vue柱状进度条图像的完美实现方案
2019/08/26 Javascript
利用Python批量生成任意尺寸的图片
2016/08/29 Python
python 基础教程之Map使用方法
2017/01/17 Python
详细解读tornado协程(coroutine)原理
2018/01/15 Python
windows下cx_Freeze生成Python可执行程序的详细步骤
2018/10/09 Python
python3.6.3转化为win-exe文件发布的方法
2018/10/31 Python
Pandas操作CSV文件的读写实现方法
2019/11/13 Python
关于pytorch中全连接神经网络搭建两种模式详解
2020/01/14 Python
解决Python import docx出错DLL load failed的问题
2020/02/13 Python
pytorch:model.train和model.eval用法及区别详解
2020/02/20 Python
PyQt5实现简单的计算器
2020/05/30 Python
使用HTML5做个画图板的方法介绍
2013/05/03 HTML / CSS
Monnier Freres中文官网:法国领先的奢侈品配饰在线零售商
2017/11/01 全球购物
工程质量承诺书范文
2014/03/27 职场文书
明星员工获奖感言
2014/08/14 职场文书
2014年四风问题自我剖析材料
2014/09/15 职场文书
2014年团支部工作总结
2014/11/17 职场文书
2014年连锁店圣诞节活动方案
2014/12/09 职场文书
检讨书范文
2015/01/27 职场文书
防震减灾主题班会
2015/08/14 职场文书
shell进度条追踪指令执行时间的场景分析
2022/06/16 Servers