理解 Subject

在上一篇博文中介绍了 Observable 和 Observer 的概念与用法。

它们是理解 Subject 的基础和前提。建议先行阅读。

1.什么是 Subject

在 RxJS 中 Subject 是混合体。它既是 Observable 又是 Observer

这意味着它既能像 Observable 一样生成数据流,被 Observer 所订阅,

也可以像 Observer 一样消费数据流。

继续阅读理解 Subject

理解 Observable 与 Observer

Observable,Observer 是 RxJS 编程中的核心,也是理解 Subject 的基础。

本文就是帮助你理解两者的区别与基本用法。

1.什么是 Observable

图片源自官方文档 —— Observable 一节。

可以看到,Observable 对象可以生成数据流,为 Observer 提供输入。

同时,Observable 对象通过可叠加多个转换(Transformation),对数据流进行转换,并且得到的仍是一个 Observable 对象。

继续阅读理解 Observable 与 Observer

理解 Angular Resolver

1.什么是 Reslover

Angular 6+ 中 Router(路由)多了一个 resolve 属性。这个属性指向的一段代码被称为 “ Resolver ”。

Resolver 可以理解为在路由到组件加载之间的一段中间代码。它可在组件被路由之前获取预抓取数据,然后在组件初始化时获取并处理。

路由绑定 Resolver 后,路由执行流程如下:

1.用户点击链接。

2.路由执行 Resolver 获取数据。

3.目标组件初始化并搜集结果。

4.目标组件完成加载。

为了有个初步的概念,你可以先结合这个在线例子熟悉一下。

2.为什么使用 Resolver

相比于直接在组件中注入服务,Resolver 可以将数据抓取与其他业务逻辑分离开来,更加利于项目的维护和扩展。

这种做法也被称为遵循“ single responsibility principle

继续阅读理解 Angular Resolver

Material Design 为何不火

Material Design 是谷歌提出的设计指南。其设计之初,是为了统一谷歌旗下包括 Web、App 在内的各条产品线的设计风格。

Material Design 本身是介于拟物化设计扁平化设计之中的另一种设计方案,因此也兼具了两者的优点。

Material Design 社区比较繁荣,具有许多成熟的开源解决方案。

比如利用 Angular MaterialMaterial UI 等组件,开发者即使没有阅读过 Material Design 设计规范,也可以打造一个纯 Material Design 应用。

但是 Material Design 在国内却没有流行起来,几乎没有一个成熟的商业产品遵循该设计标准。

继续阅读Material Design 为何不火

技术之心

黎明

东京一家名为 “黎明”的咖啡馆日前举行了特殊的开业剪彩仪式。因为其中一位剪彩者不是人类,而是一款名为“ OriHime-D ”的人形机器人。

“黎明”咖啡馆目前有 10 个 “ OriHime-D ” 这样的机器服务生。“ OriHime-D ” 高度为 120 厘米,全部由肌萎缩性脊髓侧索硬化症( 缩写为 ALS )患者实现远程控制。 因为在控制端有特别配置的眼动追踪设备,因此即便 ALS 患者四肢严重瘫痪,也能完成控制动作。

“ OriHime-D ” 的出现意味着,通过机器辅助,残疾人也可以像正常人一样参与到社会分工与协作中去。这不仅对社会,对残疾人本身也有极大益处。

继续阅读技术之心