@Component({ selector: '.donation', template: ` <figure id="donation" move> <img src="image/qrcode.png"/> <figcaption> Buy me a cup of coffee. </figcaption> </figure> ` }) export class DonationComponent{} @Directive({ selector: '[move]' }) export class MoveDirective{}
Hey, I want to get the <figure id="donation">
element's width/height within MoveDirective
and DonationComponent
. I have read the documentation several times but still cannot find a way to this answer. Does somebody know this? Thanks a lot!
Use offsetWidth & offsetHeight properties of the DOM element to get its the width and height.
You can use ElementRef as shown below,
DEMO : https://plnkr.co/edit/XZwXEh9PZEEVJpe0BlYq?p=preview check browser's console.
import { Directive, Input, Output, ElementRef, Renderer } from '@angular/core'; @Directive({ selector:"[move]", host:{ '(click)':"show()" } }) export class GetEleDirective{ constructor(private el:ElementRef) { } show(){ console.log(this.el.nativeElement); console.log('height---' + this.el.nativeElement.offsetHeight); //<<<===here console.log('width---' + this.el.nativeElement.offsetWidth); //<<<===here } }
Same way you can use it within component itself wherever you need it.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With