Получить конкретный столбец из файла JSON в Angular2 - PullRequest
0 голосов
/ 27 июня 2018

Сейчас я работаю над проектом Angular2, когда мне нужно использовать онлайн-файл JSON. Я использовал http.get, но я получил весь файл, и мне нужен только второй и третий столбец, first_name и last_name.

Вот файл JSON> http://alexgr.ro/ehealth/patients.json

и вот мой код

admin1.component.ts, где я хочу показать даты

import { Component } from '@angular/core';
import { UserService } from '../services/user.service';

@Component({
moduleId: module.id,
selector: 'admin1',
templateUrl: `admin1.component.html`,
})
export class Admin1Component  {
enable: boolean;
_profile: {}

constructor(private userService: UserService) {
    this.enable = false;
}

loadUser() {
    this.userService.getUser().subscribe(data => this._profile = data);
    this.enable = true;
 }
}

my user.service.ts

import { Injectable } from '@angular/core';
import { Http, Response } from '@angular/http';
import 'rxjs/add/operator/map';

@Injectable()
export class UserService {
constructor (private http: Http) {}

 getUser() {
 return this.http.get('http://alexgr.ro/ehealth/patients.json')
  .map((res:Response) => res.json());
 }
}

и мой admin1.component.html

<div>
<button (click)="loadUser()">Load User</button>
<div *ngIf="enable">
    {{ _profile | json }}
</div>

Любая помощь будет потрясающей

Ответы [ 3 ]

0 голосов
/ 27 июня 2018

Вам нужно перебрать массив так:

<div *ngFor='let profile of _profile'>
    {{ profile.first_name }}     {{ profile.last_name }}
</div>

В настоящее время вы используете json канал, который просто печатает данные целиком, как они есть в DOM.

0 голосов
/ 27 июня 2018
<div>
<button (click)="loadUser()">Load User</button>
<div *ngIf="enable">
<div *ngFor="let profile of _profile  "
    {{ profile | json }}
</div>

В дополнение к ответам выше, вы все еще можете использовать Json pipe с ngFor.

0 голосов
/ 27 июня 2018

Вам нужно использовать ngFor для циклического перебора элементов,

<div>
<button (click)="loadUser()">Load User</button>
<div *ngIf="enable">
<ul>
    <li *ngFor="let pro of _profile ">
       <h1> {{ pro.first_name}} </h1>
       <h1> {{ pro.last_name}} </h1>
    </li>
  </ul>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...