I am developing an angular directive that converts dropdownlist to radioListbox. here is my initial code :
import { Directive, Input, TemplateRef, ViewContainerRef,OnInit } from '@angular/core';
@Directive({
selector: '[radioList]'
})
export class RadioListDirective implements OnInit {
constructor(private templateRef: TemplateRef<any>, private vcRef: ViewContainerRef) {
}
ngOnInit() {
console.log(this.templateRef);
this.vcRef.createEmbeddedView(this.templateRef);
}
}
and
<div>
test
</div>
<select *radioList><option>1</option><option>2</option></select>
It should log the TemplateRef
whose ElementRef
's nativeElement is a select
. But the result is and empty comment that its next element is the select
.
Hacky solutions currently working:
this.templateRef.elementRef.nativeElement.nextSibling
(this.viewContainerRef.get(0) as any).rootNodes[0]
(Note, from your example code you used vcRef
instead of viewContainerRef
as I used here.)
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