如何通过 angular 指令访问前一个兄弟?
How to access the previous sibling through an angular directive?
目前,我正在使用 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
我期待合作。
可以获得parent元素:
let parent = this.renderer.parentNode(this.elementRef.nativeElement);
然后 select 他的 child 不知何故,也许给他们递增的 ID:
let sibling = parent.querySelector('#child5');
然后你有兄弟姐妹宽度:
let width = sibling.offsetWidth;
.
希望对您有所帮助。
目前,我正在使用 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
我期待合作。
可以获得parent元素:
let parent = this.renderer.parentNode(this.elementRef.nativeElement);
然后 select 他的 child 不知何故,也许给他们递增的 ID:
let sibling = parent.querySelector('#child5');
然后你有兄弟姐妹宽度:
let width = sibling.offsetWidth;
.
希望对您有所帮助。