SAP Spartacus Focusdirective继承自Lockdirective,静态代码分析
生活随笔
收集整理的這篇文章主要介紹了
SAP Spartacus Focusdirective继承自Lockdirective,静态代码分析
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Focusdirective并沒有特殊的實現(xiàn),同其父類Lockdirective相比只是把selector暴露出來而已:
三個依賴:
- elementRef: 施加Directive的DOM元素
- service: keyboardFocusService
- renderer: Renderer2
再看其父類LockDirective的實現(xiàn)。
有一個默認(rèn)的配置defaultConfig:
當(dāng)host元素有事件發(fā)生時,觸發(fā)@HostListener修飾的handleEnter方法:
unlock意味著tabindex為0, 即focus首先落在的位置。
lock實現(xiàn)就是把元素的tabindex設(shè)為-1:
注意這里調(diào)用注入的renderer給HTML元素設(shè)置focus_group_attr屬性:
shouldAutofocus返回值取決于this.config.autofocus的配置:
這里并沒有看到自動設(shè)置元素focus的代碼:
單擊上圖第157行代碼,進(jìn)入AutoFocusDirective的實現(xiàn):
這里調(diào)用了元素的focus方法實現(xiàn)focus.
更多Jerry的原創(chuàng)文章,盡在:“汪子熙”:
總結(jié)
以上是生活随笔為你收集整理的SAP Spartacus Focusdirective继承自Lockdirective,静态代码分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 魔兽世界怀旧服巨魔猎人怎么快速升级 怀旧
- 下一篇: SAP Spartacus LockFo