2016-11-25 3 views
1

Существует несколько решений по SO, но, по-видимому, они устарели. Угловой 2 изменяется все время ...Извлечение файла json в Angular 2

Im пытается получить json-файл в свой файл.

Имеется файл items.json.

Мне интересно, могу ли я сделать эту работу только в одном файле? Я имею в виду, только внутри app.component.ts? app.component.ts файл на самом деле выглядит следующим образом:

import { Component } from '@angular/core'; 
import { Http } from '@angular/http'; 
import { Injectable }  from '@angular/core'; 

@Component({ 
    templateUrl: './app.component.html', 
    styleUrls: ['./app.component.css'] 
}) 


@Injectable() 
export class AppServices{ 

    constructor(private http: Http) { 
    let obj; 
    this.getJSON().subscribe(data => obj=data, error => console.log(error)); 
    } 

    public getJSON(): { 
    return this.http.get("./items.json") 
     .map((res:any) => res.json()) 
    } 
} 

export class AppComponent { 
    let items = getJSON(); 
    } 
} 

Или, может быть, я должен включать в себя app.service.ts файл? И отбросьте код, который загружает json? Это было так легко сделать в Angular1, почему они сделали это настолько сложным ...

Я ищу кратчайшее решение, как это возможно Я отвечу на каждый ответ. Спасибо и заранее

EDIT я получил еще один код:

import { Component } from '@angular/core'; 
import { Http } from '@angular/http'; 

@Component({ 
    selector: 'watchlist', 
    templateUrl: './watchlist.component.html', 
    styleUrls: ['./watchlist.component.css'] 
}) 


export class WatchlistComponent { 

    data; 

    constructor(private http:Http) { 
    this.http.get('items.json') 
     .subscribe(res => this.data = res.json()); 
    } 

} 

Как загрузить эти данные в моем переменный товаре?

+0

"Другой код" выглядит хорошо. Но если вы наберете переменную 'data', то будет лучше –

+0

@Karbos <3 :)))) –

ответ

2

// Функция Вы можете объявить приложение

app() { 
    return this.http.get('/config.json'); 
    } 

this.app().subscribe((data: any) => { 
} 
Смежные вопросы