每个施加在HTML元素上的Directive,运行时都会生成一个新的实例。
这些实例的ngOnInit hook执行完毕之后,再统一支持ngAfterViewInit:
上图这个focus-lock class的出现,是由于@HostBinding装饰的属性shouldLock为true的原因:
通过elementRef指向的元素可以分辨出当前Directive实例到底施加在哪个HTML元素上:
这个setTimeout被Angular zone接管了:
这是被mock过的:
更多Jerry的原创文章,尽在:“汪子熙”: