我第一次看到下图第44行代码时,以为仅仅是一个简单的赋值操作,把requiredTabindex的值赋成-1:后来发现,这个requiredTabindex不是一个字段的值,而是一个set函数的名称:而这个requiresExplicitTabIndex,也不是一个属性的名称,而是一个get函数:
tabindex默认值为0,只要元素是A标签,且href或者routerLink至少拥有一个,则requiesExplicitTabIndex返回false,则HTML元素就不会遭受tabindex设置为-1的厄运。
注意一个问题,在requiesExplicitTabIndex被触发时,a标签的href属性尚未生成:
这个属性直到Angular的tick函数触发的changeDetect里才会被赋予a标签的href属性:然而此时requiesExplicitTabIndex的evaluation早已结束。