ionic3+Angular4實(shí)現(xiàn)接口請(qǐng)求及本地json文件讀取示例
一 準(zhǔn)備工作
首先,ionic3+Angular4的開(kāi)發(fā)環(huán)境你得有,這里就不贅述。環(huán)境準(zhǔn)備好,創(chuàng)建一個(gè)空白項(xiàng)目,模板自選。
二 實(shí)現(xiàn)過(guò)程
1 新建json文件和service
service記得在app.module.ts中引用

json和service
2 json文件格式
格式類(lèi)似這樣,根據(jù)實(shí)際需求決定。
[
{
"id":"1",
"name":"xiehan",
"age":"24",
"message":"測(cè)試json文件讀取"
},
{
"id":"2",
"name":"xiehan",
"age":"24",
"message":"測(cè)試json文件讀取"
},
{
"id":"3",
"name":"xiehan",
"age":"24",
"message":"測(cè)試json文件讀取"
},
{
"id":"4",
"name":"xiehan",
"age":"24",
"message":"測(cè)試json文件讀取"
}
]
3 service
import {Injectable} from '@angular/core';
import {Observable} from 'rxjs/Observable';
import {Http, Response} from '@angular/http';
import "rxjs/add/operator/map";
@Injectable()
export class DemoService {
constructor(private httpService: Http){
}
// 網(wǎng)絡(luò)接口請(qǐng)求
getHomeInfo(): Observable<Response> {
return this.httpService.request('http://jsonplaceholder.typicode.com/users')
}
// 本地json文件請(qǐng)求
getRequestContact(){
return this.httpService.get("assets/json/message.json")
}
}
4 數(shù)據(jù)顯示
1 網(wǎng)絡(luò)接口請(qǐng)求
//home.ts
import {ChangeDetectorRef, Component} from '@angular/core';
import { NavController } from 'ionic-angular';
import {DemoService} from "../../services/demo.service";
@Component({
selector: 'page-home',
templateUrl: 'home.html'
})
export class HomePage {
// 接收數(shù)據(jù)用
listData: Object;
// 依賴(lài)注入
constructor(public navCtrl: NavController,
private ref: ChangeDetectorRef,
private demoService: DemoService,) {
}
ionViewDidLoad() {
// 網(wǎng)絡(luò)請(qǐng)求
this.getHomeInfo();
}
getHomeInfo(){
this.demoService.getHomeInfo()
.subscribe(res => {
this.listData = res.json();
// 數(shù)據(jù)格式請(qǐng)看log
console.log("listData------->",this.listData);
this.ref.detectChanges();
}, error => {
console.log(error);
});
}
}
//home.html
<ion-header>
<ion-navbar>
<ion-title>首頁(yè)</ion-title>
</ion-navbar>
</ion-header>
<ion-content padding>
<ion-list *ngFor="let item of listData">
<ion-item>
<!--?是Angular特定語(yǔ)法,相當(dāng)于判斷數(shù)據(jù)是否存在,有則顯示無(wú)則不顯示-->
{{item?.name}}
</ion-item>
</ion-list>
</ion-content>
效果圖

2 本地json文件請(qǐng)求
service中已經(jīng)寫(xiě)了getRequestContact()方法對(duì)本地json文件讀取。
//contact.ts
import {ChangeDetectorRef, Component} from '@angular/core';
import { NavController } from 'ionic-angular';
import {DemoService} from "../../services/demo.service";
@Component({
selector: 'page-contact',
templateUrl: 'contact.html'
})
export class ContactPage {
contactInfo=[];
constructor(public navCtrl: NavController,
private demoService: DemoService,
private ref: ChangeDetectorRef,) {
}
ionViewDidLoad() {
// 網(wǎng)絡(luò)請(qǐng)求
this.getRequestContact();
}
getRequestContact(){
this.demoService.getRequestContact()
.subscribe(res => {
this.contactInfo = res.json();
console.log("contactInfo------->",this.contactInfo);
this.ref.detectChanges();
}, error => {
console.log(error);
});
}
}
// contact.html
<ion-header>
<ion-navbar>
<ion-title>
聯(lián)系人
</ion-title>
</ion-navbar>
</ion-header>
<ion-content>
<ion-list>
<ion-item *ngFor="let item of contactInfo">
<div style="display: flex;flex-direction: column;">
<span>姓名:{{item?.name}}</span>
<span>年齡:{{item?.age}}</span>
<span>信息:{{item?.message}}</span>
</div>
</ion-item>
</ion-list>
</ion-content>
效果圖

三 總結(jié)
1.所有創(chuàng)建的page要在app.module.ts中引用;
2.service要在app.module.ts中引用;
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
動(dòng)態(tài)創(chuàng)建Angular組件實(shí)現(xiàn)popup彈窗功能
這篇文章主要介紹了動(dòng)態(tài)創(chuàng)建angular組件實(shí)現(xiàn)popup彈窗,需要的朋友可以參考下2017-09-09
使用Angular CLI快速創(chuàng)建Angular項(xiàng)目的一些基本概念和寫(xiě)法小結(jié)
這篇文章主要介紹了使用Angular CLI快速創(chuàng)建Angular項(xiàng)目的一些基本概念和寫(xiě)法小結(jié),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-04-04
angularjs select 賦值 ng-options配置方法
下面小編就為大家分享一篇angularjs select 賦值 ng-options配置方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-02-02
Angular實(shí)現(xiàn)的簡(jiǎn)單查詢(xún)天氣預(yù)報(bào)功能示例
這篇文章主要介紹了Angular實(shí)現(xiàn)的簡(jiǎn)單查詢(xún)天氣預(yù)報(bào)功能,涉及AngularJS針對(duì)第三方API接口交互的相關(guān)操作技巧,需要的朋友可以參考下2017-12-12
AngularJS基礎(chǔ) ng-model 指令詳解及示例代碼
本文主要介紹AngularJS ng-model 指令,這里幫大家整理了ng-model的基本資料,并附有示例代碼,有需要的小伙伴可以參考下2016-08-08
使用ngView配合AngularJS應(yīng)用實(shí)現(xiàn)動(dòng)畫(huà)效果的方法
這篇文章主要介紹了使用ngView配合AngularJS應(yīng)用實(shí)現(xiàn)動(dòng)畫(huà)效果的方法,AngularJS是十分熱門(mén)的JavaScript庫(kù),需要的朋友可以參考下2015-06-06
詳解在Angularjs中ui-sref和$state.go如何傳遞參數(shù)
這篇文章主要介紹了詳解在Angularjs中ui-sref和$state.go如何傳遞參數(shù),詳細(xì)的介紹了ui-sref和$state.go的區(qū)別和如何傳參,有興趣的可以了解下2017-04-04

