理解 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 教程

Photo by Kristine Weilert on Unsplash

声明

本教程是 Angular 路由快速教程的后续章节。假设您已经拥有了一些 Angular

相关的基础路由知识,了解了 Angular 路由模块常见路由组件以及路由匹配的

基本方法,尚不清楚的同学建议复习一下路由相关知识

Resolver —— 路由的新机制

在很多时候,我们会在组件初始化的时候(ngOnInit 消息钩子)中预先抓取数

据。但是假如数据抓取耗时较长,会导致在组件渲染的时候数据还没拿到渲染

的数据(多数情况会在控制台报错)。为了避免这种情况,就要用到 Resolver

在路由到组件之前做数据的预抓取。

相比于直接在组件中注入服务,Resolver 可以将数据抓取与其他业务逻辑分离

开来,更加利于项目的维护和扩展。

这种做法也被称为遵循 “单一职责原则(single responsibility principle )”。

Angular 配置一个 Resolver 也非常简单。只需在路由匹配表中,为某一条路

由的 resolve 属性指定一个满足某种格式的服务,就可以轻松实现预抓取。

继续阅读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 ” 的出现意味着,通过机器辅助,残疾人也可以像正常人一样参与到社会分工与协作中去。这不仅对社会,对残疾人本身也有极大益处。

继续阅读技术之心