ionic3+Angular4實現(xiàn)接口請求及本地json文件讀取示例
一 準(zhǔn)備工作
首先,ionic3+Angular4的開發(fā)環(huán)境你得有,這里就不贅述。環(huán)境準(zhǔn)備好,創(chuàng)建一個空白項目,模板自選。
二 實現(xiàn)過程
1 新建json文件和service
service記得在app.module.ts中引用
json和service
2 json文件格式
格式類似這樣,根據(jù)實際需求決定。
[ { "id":"1", "name":"xiehan", "age":"24", "message":"測試json文件讀取" }, { "id":"2", "name":"xiehan", "age":"24", "message":"測試json文件讀取" }, { "id":"3", "name":"xiehan", "age":"24", "message":"測試json文件讀取" }, { "id":"4", "name":"xiehan", "age":"24", "message":"測試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ò)接口請求 getHomeInfo(): Observable<Response> { return this.httpService.request('http://jsonplaceholder.typicode.com/users') } // 本地json文件請求 getRequestContact(){ return this.httpService.get("assets/json/message.json") } }
4 數(shù)據(jù)顯示
1 網(wǎng)絡(luò)接口請求
//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; // 依賴注入 constructor(public navCtrl: NavController, private ref: ChangeDetectorRef, private demoService: DemoService,) { } ionViewDidLoad() { // 網(wǎng)絡(luò)請求 this.getHomeInfo(); } getHomeInfo(){ this.demoService.getHomeInfo() .subscribe(res => { this.listData = res.json(); // 數(shù)據(jù)格式請看log console.log("listData------->",this.listData); this.ref.detectChanges(); }, error => { console.log(error); }); } } //home.html <ion-header> <ion-navbar> <ion-title>首頁</ion-title> </ion-navbar> </ion-header> <ion-content padding> <ion-list *ngFor="let item of listData"> <ion-item> <!--?是Angular特定語法,相當(dāng)于判斷數(shù)據(jù)是否存在,有則顯示無則不顯示--> {{item?.name}} </ion-item> </ion-list> </ion-content>
效果圖
2 本地json文件請求
service中已經(jīng)寫了getRequestContact()方法對本地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ò)請求 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中引用;
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
動態(tài)創(chuàng)建Angular組件實現(xiàn)popup彈窗功能
這篇文章主要介紹了動態(tài)創(chuàng)建angular組件實現(xiàn)popup彈窗,需要的朋友可以參考下2017-09-09使用Angular CLI快速創(chuàng)建Angular項目的一些基本概念和寫法小結(jié)
這篇文章主要介紹了使用Angular CLI快速創(chuàng)建Angular項目的一些基本概念和寫法小結(jié),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-04-04angularjs select 賦值 ng-options配置方法
下面小編就為大家分享一篇angularjs select 賦值 ng-options配置方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-02-02Angular實現(xiàn)的簡單查詢天氣預(yù)報功能示例
這篇文章主要介紹了Angular實現(xiàn)的簡單查詢天氣預(yù)報功能,涉及AngularJS針對第三方API接口交互的相關(guān)操作技巧,需要的朋友可以參考下2017-12-12AngularJS基礎(chǔ) ng-model 指令詳解及示例代碼
本文主要介紹AngularJS ng-model 指令,這里幫大家整理了ng-model的基本資料,并附有示例代碼,有需要的小伙伴可以參考下2016-08-08使用ngView配合AngularJS應(yīng)用實現(xiàn)動畫效果的方法
這篇文章主要介紹了使用ngView配合AngularJS應(yīng)用實現(xiàn)動畫效果的方法,AngularJS是十分熱門的JavaScript庫,需要的朋友可以參考下2015-06-06詳解在Angularjs中ui-sref和$state.go如何傳遞參數(shù)
這篇文章主要介紹了詳解在Angularjs中ui-sref和$state.go如何傳遞參數(shù),詳細(xì)的介紹了ui-sref和$state.go的區(qū)別和如何傳參,有興趣的可以了解下2017-04-04