Ich teste eine Komponente wie folgtZugang DebugElement verschachtelter Komponente bei der Verwendung von nativen Ansicht Verkapselung
@Component({
selector: 'my-component',
template: `
<my-nested-component [state]="state"></my-nested-component>
`,
encapsulation: ViewEncapsulation.Native
})
export class MyComponent {}
Wenn das Gerät meine Komponente testen, ich möchte MyOtherComponent
einen Verweis auf die verschachtelte Komponente erhalten. Wenn my-component
verwendet keine Verkapselung, oder wenn es Verkapselung emuliert verwendet wird, könnte ich verwenden:
let fixture = TestBed.createComponent(MyComponent);
let nestedComponent = fixture.debugElement.query(By.directive(MyNestedComponent))
einen Verweis auf die Komponente zu erhalten.
Aber in diesem Fall fragt query
nur die Licht DOM Kinder der Komponente (das Verhalten von querySelector
imitiert), so nestedComponent
null
ist, wenn nativer Ansicht Kapselung.
Wie werden Sie einen Verweis auf die DebugElement
(und damit die Komponenteninstanz) der verschachtelten Komponente bekommen soll?
Woher kommt 'getDebugNode'? Es ist genau das, wonach ich gesucht habe. – ovangle
Es ist von @ angular/Kern – yurzui
ahah! Vielen Dank. Antwort angenommen und Kopfgeld verliehen (oder besser, Kopfgeld wird in 5 Stunden vergeben, wenn es freigeschaltet wird). – ovangle