Wiem, że zostało to wcześniej zadane, ale żadna z wybranych odpowiedzi nie działa dla mnie.@ViewChild zawsze zwraca undefined
Próbuję użyć @ViewChild, aby pobrać mój ng-select z dom. I zawsze zwraca niezdefiniowana
oto wybierz wewnątrz main.html
<ng-select id="user-select"
#userSelect
[allowClear]="true"
[items]="singleSignOnUsers"
[disabled]="disabled"
placeholder="No user selected">
</ng-select>
tutaj jest moja komponent
import { Component, AfterViewInit, ViewChild } from '@angular/core';
@Component({
moduleId: module.id,
selector: 'app-main',
templateUrl: '../app/main.html',
providers: [ApiHttpService, UserAdministrationService]
})
export class AppComponent {
@ViewChild('userSelect') userSelect;
ngAfterViewInit() {
alert(this.userSelect);
}
}
Czego mi brakuje tutaj?
Aktualizacja: Oh My Soul! Wyjaśniałem, dlaczego to nie działa, kiedy to powinno ... Mam cały widok owinięty w div z ngSwitch. Jeśli go wyprowadzę ... będę miał do nich dostęp. Teraz nie wiem, jak uzyskać do nich dostęp w trybie ngSwitch. Ale może nie trzeba używać ngSwitch
<div [ngSwitch]='loading'>
<div *ngSwitchCase="false">
...
<ng-select id="user-select"
#userSelect
[allowClear]="true"
[items]="singleSignOnUsers"
[disabled]="disabled"
placeholder="No city selected">
</ng-select>
...
</div>
<div
to powinno działać. Czy możesz rozmnażać się w Plunker? –
Nigdy nie używałem plunkera. Zobaczę, czy mogę to rozgryźć. – twaldron
Plunker dostarcza gotowy do użycia szablon Angular2 TS pod '[Nowy | v] 'button. –