目前,我正在使用ELEMENTREF通过Redenrer2访问DOM。下面是一个基本示例:
import { Directive, Renderer2, ElementRef } from '@angular/core';
@Directive({
selector: '[appHighlight]'
})
export class HighlightDirective {
constructor(private renderer: Renderer2, private el: ElementRef) {
this.renderer.setStyle(this.el.nativeElement, 'background', 'yellow');
}
}
上面的代码只是一个测试,让语法突出显示保持黄色。
但是,我需要知道如何访问上一个元素并捕获它的宽度以移动到左样式属性?
例如:前兄弟的宽度为 400px。当前元素的左侧为 400px。
我指望合作。
你可以得到父元素:
let parent = this.renderer.parentNode(this.elementRef.nativeElement);
然后以某种方式选择他的孩子,也许给他们递增的 ID:
let sibling = parent.querySelector('#child5');
然后你有兄弟姐妹宽度:
let width = sibling.offsetWidth;
.
希望有帮助。