其他分享
首页 > 其他分享> > SAP Spartacus Focusdirective继承自Lockdirective,静态代码分析

SAP Spartacus Focusdirective继承自Lockdirective,静态代码分析

作者:互联网

Focusdirective并没有特殊的实现,同其父类Lockdirective相比只是把selector暴露出来而已:

三个依赖:

再看其父类LockDirective的实现。

有一个默认的配置defaultConfig:

当host元素有事件发生时,触发@HostListener修饰的handleEnter方法:

unlock意味着tabindex为0, 即focus首先落在的位置。

lock实现就是把元素的tabindex设为-1:

注意这里调用注入的renderer给HTML元素设置focus_group_attr属性:

shouldAutofocus返回值取决于this.config.autofocus的配置:

这里并没有看到自动设置元素focus的代码:

单击上图第157行代码,进入AutoFocusDirective的实现:

这里调用了元素的focus方法实现focus.

更多Jerry的原创文章,尽在:“汪子熙”:

标签:Lockdirective,Spartacus,实现,Focusdirective,元素,focus,tabindex
来源: https://blog.csdn.net/i042416/article/details/111033163