Я пытаюсь вызвать функцию 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-запроса и визуализации формы?
Если вы поместите это в ngOnInit и поставить точку останова на линии, делает 'JQuery (this.elementRef.nativeElement) .find ("select") 'вернуть что-нибудь? –
Нет, это не так: 'jQuery []' однако, если я вызываю '$ (" select ")' после загрузки страницы, он возвращает 'jQuery [
Хорошо. Что возвращает jQuery (this.elementRef.nativeElement) .find ("select"), если вы запустите его позже? – TGH