Angular 第八章 Http通讯

第一步:在app.module.ts中导入HttpModule模块

import {HttpModule} from '@angular/http';
imports: [
    BrowserModule,
    HttpModule

  ]

第二步:在要使用http服务的组件中注入http服务:

  constructor(http:Http) { } //在此处注入http服务

第三步: 使用http服务发送get请求,对返回的流的数据处理有两种方式

【1】使用订阅流的方式来获取数据

   ##1 组件控制器中:

import {Observable} from 'rxjs';  //需要引入Observable
import 'rxjs/Rx'; //map使用时需要导入此模块
import { Component, OnInit } from '@angular/core';
import { Http } from '@angular/http';

@Component({
  selector: 'app-stock',
  templateUrl: './stock.component.html',
  styleUrls: ['./stock.component.css']
})
export class StockComponent implements OnInit {
  dataSourse:Observable<any>;
  stocks=[];

  constructor(public http:Http) {//在此处注入http服务
    this.dataSourse= this.http.get('/stock').map(response=>response.json());
    //this.http.get('/stock')返回的是一个流
    //this.http.get('/stock').map(response=>response.json()); 通过map函数将服务器返回的流变成json格式的数据
   } 
  
  ngOnInit() {
   this.dataSourse.subscribe(
     data=>this.stocks=data
   )
    
  }

}

 ##2组件模板中

<p>股票信息</p>
<ul>
  <li *ngFor="let stock of stocks">{{stock.name}}</li>
</ul>

【2】使用异步管道来处理返回的流数据

##1 组件控制器中

import {Observable} from 'rxjs';  //需要引入Observable
import 'rxjs/Rx'; //map使用时需要导入此模块
import { Component, OnInit } from '@angular/core';
import { Http } from '@angular/http';

@Component({
  selector: 'app-stock',
  templateUrl: './stock.component.html',
  styleUrls: ['./stock.component.css']
})
export class StockComponent implements OnInit {
  stocks:Observable<any>;

  constructor(public http:Http) {//在此处注入http服务
    this.stocks= this.http.get('/stock').map(response=>response.json());
    //this.http.get('/stock')返回的是一个流
    //this.http.get('/stock').map(response=>response.json()); 通过map函数将服务器返回的流变成json格式的数据
   } 
  
  ngOnInit() {
   
    
  }

}

##2 组件模板中

<p>股票信息</p>
<ul>
  <li *ngFor="let stock of stocks">{{stock.name|async}}</li>
</ul>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值