[译]Angular构造函数与ngOnInit的本质区别

在Stackoverflow上最受欢迎的其中一个Angular问题是构造函数与ngOnInit的区别,这个问题已经超过了100k的浏览量。在那我回答了此问题,但还是决定在这篇文章展开说明。这个问题的大部分回答以及网络里的文章都是集中在两者在使用上的不同,这里我想给出一个比较全面的比较,挖掘组件初始化的过程。JS/TS语言相关的区别我们先从一个与语言本身有关的最明显的区别开始。ngOnInit只是一
6天前更新 12分钟阅读

Angular装饰器——Decorators

最近有空学习了一下angular的基础知识,对于angular的装饰器有了一些理解。其实装饰器并非angular特有的,它是Typescript的语言特性。首先我们看看什么是装饰器  我们先看看Typescript官方的说明:装饰器是一种特殊类型的声明,它能够被附加到类声明,方法, 访问符,属性或参数上。 装饰器使用 @expression这种形式,expression求值后必
1个月前更新 15分钟阅读

RxJs——创建型操作

我们在使用RxJs中,知道RxJs的操作分为两类,一类是创建型,比如of(),fromEvent(),from()等,还有一类是操作型,比如map(),filter()。而这两类操作的基础和心是一个叫做Observable的对象,如果对Observable不甚理解,需要快速理解的可以查看这一篇今天我们来学习第一类,尝试着自己实现一次。of()这个操作接收数组参数,返回一个Observable,一旦
1个月前更新 11分钟阅读

RxJs——map,filter第二种实现

上一节我们实现了map和filter函数,我们将这些函数都挂载在MyObservable对象上,这里存在一个问题,类似map和filter这样的操作型函数很多,所以不可能将他们都挂载在MyObservable对象上,因此,这里出现了第二种实现。 这些操作函数能串联起来的本质就是能够形成嵌套调用,因此我想到了使用pipe,pipe的本质是接收一个 RxJS 操作符的运行结果作为参数,并返回
1个月前更新 12分钟阅读

RxJs——Subject理解二

上一节我们对subject有了初步理解,今天我们继续学习subjectReplaySubject介绍这个ReplaySubject之前,我们说下一种使用场景1、我们创建一个subject2、在应用的某个地方,我们向subject推送值,但此时没有订阅3、在某个时点,有第一个观察者开始订阅4、我们期望观察者能接收之前主题推送的值(可能是全部值或者时其中一个)5、实际上啥都没发生,因为主题不能存储记忆
2个月前更新 5分钟阅读

RxJs——错误处理(二)

从前文我们知道,错误处理有两种方式,一种是重新抛出一个错误,另一个是提供一个默认的回调值。今天我们介绍错误处理的另一种方式,先来看看重试。重试策略有一点需要记住,一旦流出现了错误,我们不能恢复它。但是没有什么能阻碍我们订阅其派生类对应的Observable,并且创建一个新的流。这种策略的工作原理是:1、我们将获取输入Observable并且订阅它,这将创建一个新的流。2、如果流没有出错,我们将在输
26天前更新 16分钟阅读

webpack初步理解

Webpack 是一个非常强大且有趣的工具,被视为当今许多 Web 开发人员用来构建其应用程序的技术中的基本组件。然而,许多人会认为使用它是一个相当大的挑战,主要是因为它的复杂性。 webpack bundle过程图表webpack bundle processmodules模块是一个文件的升级版本。一个模块,一旦创建并且构建之后,除了包含原始的文件代码之外,还有一些其他信息,比如模块使
28天前更新 73分钟阅读

RxJs——takeUntil

今天我们继续学习takeUntil运算符。我们知道take运算符是主要是限制发送一定次数的值之后就结束发送;按照这样的思路,我们猜想,这个takeUntil也是发送一定的值之后应该结束,那么具体是什么呢?它将值从源 observable 传递给观察者,直到提供的称为通知 observable 发出其第一个值。它订阅源Observable,然后会监测源Observable;它还订阅了可观察的通知Ob
2个月前更新 3分钟阅读

RxJs——takeWhile

上一节我们学习了takeUntil这个运算符,今天我们来看看另一个类似的运算符takeWhile.这个运算符的特点是:这个运算符接收一个谓词函数,函数的参数收到的就是流对象的值,如果谓词函数返回true,则直接将此值传递给观察者,否则,取消对源Observable'的订阅,然后完成。我们看看这个操作符的动态图:我们来分析一下:1、订阅源 observable2、当一个新值从源 observable
2个月前发布 5分钟阅读

MutationObserver初步理解

最近在学习怎么样给网站埋点,举个例子来说,我在文章中有了一些评论的信息,我需要知道这些评论信息是否被点击和查看,一种常用的做法就是在这些标签上绑定点击事件,然后在事件回调函数中向后台发送信息,从而判断这个文章中的评论是否有被点击和查看。今天我将尝试采用另外一种做法,来判断文章中的评论有没有被点击查看过。首先,我们需要知道的是用户在点击评论标签的时候,文章对应的dom是否发生变化?其次,我会用Mut
1个月前更新 6分钟阅读
数据加载中