Mam podstawowy element:dynamicznie dołączyć dziecko z dyrektywą
<div>
I'm a basic element
</div>
Chcę utworzyć dyrektywę, która pozwala mi napisać to:
<div resizable-top>
I'm a basic element
</div>
i czyni to:
<div resizable-top>
<div> drag me to resize element </div>
I'm a basic element
</div>
Zasadniczo stworzyłem dyrektywę:
@Directive({
selector: '[resizable-top]',
host: {
'(mousedown)':'onMouseDown()',
'(mousemove)':'onMouseMove()',
'(mouseover)':'onMouseOver()'
}
})
export class ResizableDirective{
constructor(private el:ElementRef){
}
onMouseDown(){
//TODO
}
onMouseMove(){
//TODO
}
onMouseOver(){
//TODO
}
}
Problem polega na tym, że nie wiem, jak utworzyć element potomny za pomocą el
i chcę, aby zdarzenia były wiązane na elemencie potomnym, a nie na rzeczywistym elemencie.
Od jest typu any
Nie mogę dowiedzieć się, jakie metody/właściwości mogę użyć, aby osiągnąć to, co chcę.
Renderer jest naprawdę przydatny, ale tworzenie elementu jest uzupełnieniem widoku do widoku, czy istnieje sposób, aby go zastąpić? – Supamiu
W zależności od czego? Przygotuj się na 'el'? Do tego potrzebowałbyś czegoś takiego jak 'el.nativeElement.parentNode.insertBefore (newChild, el.nativeElement)'. Nie sądzę, że można to zrobić z rendererem. –
Mam na myśli, że jeśli mam '