2017-02-17 2 views
1

У меня есть простой запрос GET, который отображает некоторые данные.Можно ли создавать элементы HTML из JS в Angular 2?

this.apiRequest.get(url) 
.map(response => response.json()) 
.subscribe(response => { 
    this.notes = response.notes 

    loader.dismiss() 
}, err => { 
    loader.dismiss() 
}) 

Тогда я показываю это так:

<ion-item *ngFor="let note of notes" text-wrap> 
    <!-- data --> 
</ion-item> 

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

мне нужна петля ngFor в JS, а затем скрыть загрузчик или каким-то образом отключить загрузчик из HTML ...

ответ

1

это не то, что вы ищете, но надежда поможет

Базовая идея заключается в том, чтобы обеспечить ngFor цикл полное событие

Создать компонент

import { Component, Input, Output, EventEmitter } from '@angular/core'; 
@Component({ 
    selector: 'islast', 
    template: '<span></span>' 
}) 
export class LastDirective { 
    @Input() isLast: boolean; 
    @Output() onLastDone: EventEmitter<boolean> = new EventEmitter<boolean>(); 
    ngOnInit() { 
     if (this.isLast) 
     this.onLastDone.emit(true); //you can hide loader from here this is last element in ngfor 
    } 
} 

в HTML

<tr *ngFor="let sm of filteredMembers; let last = last; let i=index;" data-id="{{sm.Id}}"> 
    <td> 
     <islast [isLast]="last" (onLastDone)="modalMembersDone()"> 

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