Typescript 如何在angular 2中调用http调用?

Typescript 如何在angular 2中调用http调用?,typescript,angular,Typescript,Angular,您能告诉我如何在angular 2中调用http调用并使用ng repeat显示数据吗 这是我的密码 为了使用它,您需要它“注入”Http constructor(private http: Http){ http.get('https://...') .map(response => { response.json(); }) .subscribe(value => { this.data = value;}) } 为了使用它,您需要它“注入”Http

您能告诉我如何在angular 2中调用http调用并使用ng repeat显示数据吗

这是我的密码

为了使用它,您需要它“注入”
Http

constructor(private http: Http){
  http.get('https://...')
    .map(response  => { response.json(); })
    .subscribe(value => { this.data = value;})  
}
为了使用它,您需要它“注入”
Http

constructor(private http: Http){
  http.get('https://...')
    .map(response  => { response.json(); })
    .subscribe(value => { this.data = value;})  
}

首先,需要将
Http
实例注入组件:

export class AppComponent {
  toDoModel;

  constructor(private _router:Router,private http:Http) {
    this.http.get('data.json')
        .map(res => res.json())
  }
}
然后,有两种方法可以在
ngFor
中显示数据:

  • 通过订阅
    get
    方法返回的可观察对象

    @Component({
      template: `
        <ul>
          <li *ngFor="#elt of elements">{{elt.name}}</li>
        </ul>
      `
    })
    export class AppComponent {
      toDoModel;
    
      constructor(private _router:Router,private http:Http) {
        this.http.get('data.json')
            .map(res => res.json())
            .subscribe(data => {
              this.elements = data;
            });
      }
    }
    
在引导应用程序时,不要忘记指定
HTTP\u提供程序

import {bootstrap} from 'angular2/platform/browser';
import {HTTP_PROVIDERS} from 'angular2/http';
import {AppComponent} from './app.component';

bootstrap(AppComponent, [ HTTP_PROVIDERS ]);
下面是相应的plunkr:

您还可以将HTTP处理放入专用服务中,如下所述:


首先,需要将
Http
实例注入组件:

export class AppComponent {
  toDoModel;

  constructor(private _router:Router,private http:Http) {
    this.http.get('data.json')
        .map(res => res.json())
  }
}
然后,有两种方法可以在
ngFor
中显示数据:

  • 通过订阅
    get
    方法返回的可观察对象

    @Component({
      template: `
        <ul>
          <li *ngFor="#elt of elements">{{elt.name}}</li>
        </ul>
      `
    })
    export class AppComponent {
      toDoModel;
    
      constructor(private _router:Router,private http:Http) {
        this.http.get('data.json')
            .map(res => res.json())
            .subscribe(data => {
              this.elements = data;
            });
      }
    }
    
在引导应用程序时,不要忘记指定
HTTP\u提供程序

import {bootstrap} from 'angular2/platform/browser';
import {HTTP_PROVIDERS} from 'angular2/http';
import {AppComponent} from './app.component';

bootstrap(AppComponent, [ HTTP_PROVIDERS ]);
下面是相应的plunkr:

您还可以将HTTP处理放入专用服务中,如下所述:


注入和导入是两件不同的事情-您需要两者。请参阅构造函数参数。注入和导入是不同的事情-您需要两者。查看构造函数参数。请共享plunkr根据您的plunkr,您忘记在HTML文件中添加
http.dev.js
文件,并添加
import'rxjs/add/operator/map'
script.js
文件中。有关更多详细信息,请参阅此答案:@ThierryTemplier谢谢!对我来说,订阅是关键。我没有订阅结果,因为我不在乎结果——我只是想开枪然后忘记。但如果没有订阅,它永远不会启动!请分享plunkerRegarding您的plunkr,您忘记在HTML文件中添加
http.dev.js
文件,并添加
import'rxjs/add/operator/map'
script.js
文件中。有关更多详细信息,请参阅此答案:@ThierryTemplier谢谢!对我来说,订阅是关键。我没有订阅结果,因为我不在乎结果——我只是想开枪然后忘记。但如果没有订阅,它永远不会启动!