SAP Spartacus Focusdirective继承自Lockdirective,静态代码分析-阿里云开发者社区

开发者社区> 开发者小助手-bz5> 正文

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

简介: SAP Spartacus Focusdirective继承自Lockdirective,静态代码分析
+关注继续查看

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

image.png

三个依赖:

  • elementRef: 施加Directive的DOM元素
  • service: keyboardFocusService
  • renderer: Renderer2

再看其父类LockDirective的实现。

有一个默认的配置defaultConfig:

image.png

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


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


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


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

image.png

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

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

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Spring Cloud 终于大改版?为什么要用日期来做版本号?
Spring Cloud终于改了 最近Spring Cloud把版本号从A到Z的伦敦地铁站,改为以日期命名了。
5 0
新来的妹纸问我 AJAX 请求为什么不安全?我没有回答出来。。。
开篇三问 AJAX请求真的不安全么? AJAX请求哪里不安全?
11 0
【深入浅出版】Java全套学习路线规划及配套视频和笔记
 工作难找,入坑不易,请根据自己的情况再做决定,且行且珍惜!        大家都说近两年疫情导致行情不太好,确实比起往年工作机会是少了很多,但我觉得事事是相对的。我入坑比较早,好几年了,各种各样的人和事都遇到过,也面试过很多人!
10 0
百亿流量微服务网关的设计与实现(5)
百亿流量微服务网关的设计与实现(5)
4 0
百亿流量微服务网关的设计与实现(4)
百亿流量微服务网关的设计与实现(4)
5 0
HTML5地理定位|学习笔记
快速学习HTML5地理定位
4 0
2497
文章
0
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载