2016-03-13 3 views
0

Я пытаюсь вызвать функцию JQuery (т.е. инициализировать самозагрузки selectpicker) на странице загрузки в NG2 приложение:функция JQuery не вызывается при загрузке страницы в угловыми 2

jQuery(this.elementRef.nativeElement).find("select").selectpicker({ 
    iconBase: 'fa', 
    tickIcon: 'fa-check', 
    title: '...' 
}); 

(предположим, что JQuery и elementRef определены и хорошо работает в других случаях)

Я пытаюсь вызвать эту функцию в ngOnInit, ngAfterContentInit, ngAfterViewInit, но не повезло.

Я подозреваю, что он вызывает до того, как элемент визуализируется или около того.

Вот мой шаблон выбора, который я пытаюсь преобразовать в бутстраповской selectpicker:

<select ngControl="hashtags" [(ngModel)]="hashtags" multiple> 
    <option *ngFor="#hashtag of card.hashtags" [value]="hashtag.id" (click)="selectHashtag(hashtag.id)">{{hashtag.name}}</option> 
</select> 

Любые идеи, как назвать это правильно?

UPD: кажется, что проблема исходит из того, что форма (и мой выбор элемент) оказанной внутри ngIf:

<div *ngIf="card"> 
... 
</div> 

так, в момент рендеринга страницы и вызова ngOnInit() форма пока не отображается. Я попытаюсь работать с ним, применяя разные подходы, но как бы вы назвали функцию ПОСЛЕ HTTP-запроса и визуализации формы?

+0

Если вы поместите это в ngOnInit и поставить точку останова на линии, делает 'JQuery (this.elementRef.nativeElement) .find ("select") 'вернуть что-нибудь? –

+0

Нет, это не так: 'jQuery []' однако, если я вызываю '$ (" select ")' после загрузки страницы, он возвращает 'jQuery [ ' –

Смежные вопросы