angular2页面抓取_如何在Angular2中获取(DOM)元素的宽度

有一些类似的线程,但我找不到合适的答案 满足我的需求。因此,应该严格避免直接DOM访问 in angular2我只是想知道这是什么最佳实践。如何在Angular2中获取(DOM)元素的宽度

我想要实现的是基于当前宽度的元素大小。

workitemresize.component.ts

import { Directive, ElementRef, HostListener, Renderer, Input } from '@angular/core';

@Directive({

selector: '[workItemResize]'

})

export class WorkItemResizeDirective implements ngAfterViewInit {

private el: HTMLElement;

private renderer: Renderer;

constructor(el: ElementRef, public renderer: Renderer)

{

this.el = el.nativeElement;

this.renderer = renderer;

}

@HostListener('window:resize', ['$event.target'])

onResize()

{

this.resizeWorks();

}

ngAfterViewInit() {

this.resizeWorks();

}

private resizeWorks(): void {

this.renderer.setElementStyle(this.el, 'height', this.el.width); //

this.renderer.setElementStyle(this.el, 'height', '500'); //

}

}

projects.template.html

2016-08-22

kkern

+0

根据当前的声音调整大小,使声音像无限循环一样。 –

+0

不只是在初始化视图和window.resize之后 - 应该没事 –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值