crear dinámicamente la tarjeta md a partir de la respuesta API

Estoy haciendo una llamada API y almacenando un montón de perfiles de usuario, y quiero poder crear dinámicamente tarjetas (tarjeta md de diseño de material angular) para cada perfil. El número de perfiles devueltos puede variar, por lo que debe ser dinámico.

Este es mi archivo componente que realiza la solicitud JSONP y almacena los perfiles en elprofiles variable:

import {Component, Injectable, OnInit} from '@angular/core';
import {Jsonp} from '@angular/http';

@Component({
  selector: 'app-staff',
  templateUrl: './staff.component.html',
  styleUrls: ['./staff.component.css']
})
@Injectable()
export class StaffComponent implements OnInit {
  public searchField: string;
  apiRoot = 'this/is/my/api/url';
  public results: JSON;
  public profiles;

  constructor(private jsonp: Jsonp) {
  }

  ngOnInit() {
  }

  setSearchField(field: string){ // ignore this method
    this.searchField = field;
    console.log('Received field: ' + this.searchField);
  }

  search(term: string) {
    const apiUrl = `${this.apiRoot}?search=${term}&rows=10&callback=JSONP_CALLBACK`;
    return this.jsonp.request(apiUrl).map(results => { this.results = results.json(); console.log(this.results['profiles'][0]); this.profiles = results['profiles']; return results.json(); });
  }

}

Esta es la plantilla para el componente anterior, donde estoy tratando de usar*ngFor para crear una lista demd-card:

<div class="container-fluid">
  <div class="row justify-content-center">
    <div class="col-md-auto">
      <ul>
        <li *ngFor="let profile of profiles">
          <md-card class="example-card">
            <md-card-header>
              <div md-card-avatar class="example-header-image"></div>
              <md-card-title>{{profile.fullName}}</md-card-title>
              <md-card-subtitle>Department</md-card-subtitle>
            </md-card-header>
            <img md-card-image src="../assets/image.png">
            <md-card-content>
              <p>
                This section of the card will contain information about the result being searched for. It could also be
                accompanied by additional information such as links.
              </p>
            </md-card-content>
            <md-card-actions>
              <button md-button>APPLY</button>
              <button md-button>GO TO xyz</button>
            </md-card-actions>
          </md-card>
        </li>
      </ul>
    </div>
  </div>
</div>

Los datos de mis perfiles tienen la forma de una matriz (suponga que la matriz no excede una longitud de 10) y toma la siguiente forma:

0: {fullName: "Foo Bar", emailAddress: "[email protected]", image: "/profile/image/foobar/foobar.jpg", phoneNumber: "99999999"},

1: {fullName: "Foo Bar1", emailAddress: "[email protected]", image: "/profile/image/foobar1/foobar1.jpg", phoneNumber: "919999999"}

Sin embargo, no haymd-cards siendo prestados. Lo he comprobadoprofiles no esta vacio ¿Cómo puedo crear tarjetas dinámicamente en función de la cantidad de perfiles y llenar el contenido con valores de los objetos de perfil?

Respuestas a la pregunta(2)

Su respuesta a la pregunta