Вы должны передать $event
, чтобы получить событие в вашей функции машинописи, а затем вы можете получить доступ к его srcElement
, target
, et c, который дает вам контроль над HTML
и DOM Node
Вы можете получить его offsetWidth
или clientWidth
HTML
<div #divLeft>
<button (click)="test($event)">Click Me</button>
</div>
машинопись
test(e){
console.log(event.target.offsetWidth);
}
Вы можете сослаться на разницу между ними по этой ссылке
или
, которую вы можете использовать ViewChild
, чтобы получить ее ссылку и принять контроль над DOM
см. этот пост для более подробного объяснения
Обновление
Я только что понял, что srcElement
устарел, но я бы всегда рекомендуем использовать ViewChild
, как показано ниже
Машинописный код
@ViewChild("leftDiv", { static: true }) leftDiv: ElementRef;
test() {
console.log(this.leftDiv.nativeElement.clientWidth)
}
HTML
<div #leftDiv>
<button (click)="test()">Click Me</button>
</div>
stakblitz