基於angular2 的 http服務封裝

2021-08-19 12:58:30 字數 2442 閱讀 8421

最近在專案中折騰了下angular2,所以出來跟大家分享,希望有幫助,每個公司業務不一樣,按實際情況而定,個人學習心得,不作為標準。

1、定義http-interceptor.service.ts服務,統一處理http請求

/**

* name:http服務

* describe:對http請求做統一處理

* author:angular那些事

/*** 統一傳送請求

*@param params

*@returns >|promise}

*/public

request(params: any): any

else

} /**

* get請求

*@param url 介面位址

*@param params 引數

*@returns

*/public

get(url: string, params: any): any )

.topromise()

.then(this.handlesuccess)

.catch(res => this.handleerror(res));

} /**

* post請求

*@param url 介面位址

*@param params 引數

*@returns

*/public

post(url: string, params: any)

/*** 處理請求成功

*@param res

*@returns ,

page: res.json().page || {},

statustext: res.statustext,

status: res.status,

success: true}}

else

}} /**

* 處理請求錯誤

*@param error

*@returns

*/private

handleerror(error)

if (error.status == 404)

if (error.status == 500)

console.log(error);

return ;

}}

2、在每乙個模組建立乙個service,service定義此模組的所有http資料請求,我這裡演示登入模組:login.service.ts

/**

* name:登入服務

* describe:請輸入描述

* author:angular那些事

* date:2017/6/1

* time:00:13

*/import from '@angular/core';

@injectable()

export class

loginservice

/*** 登陸功能

* @param params

* @returns >}

*/login(username: string, password: string) ,

});} /**

* 註冊

* @param user

* @returns

*/reguster(user: any) ,

});}}

3、在component注入servicelogin.service.ts。呼叫serivelogin.service.ts服務定義的方法,這裡通過login.component.ts演示

/**

* name:登入元件

* describe:請輸入描述

* author:angular那些事

* date:2017/6/1

* time:00:30

*/import from '@angular/core'

import from './login.service'

@component()

export class logincomponent

/*** 登入

*/tologin() );

}}

angular2 發布angular2模組,服務

上回說到了如何利用npm包管理器發布自己的包,這次咱們就來個實踐。1 寫好自己的元件 2 利用npm發布自己的元件 3 使用包 基於angular2的架構,一般都需要下列檔案 html檔案,css檔案,component檔案,module檔案。component檔案內容 import區域 impor...

Angular2表單驗證

angular2中使用表單,首先要在from上新增 forma ngform 這個是給from定義成了angular的from物件 form horizontal forma ngform ngsubmit onsubmit showmodal 下面的label中的for對應著input中的id值,...

Angular2學習 安裝

在安裝angular2的時候需要使用npm,npm是nodejs的包管理器,因此首先我們需要檢查node安裝與否 1 檢查nodejs和npm 1 node v 輸出 v10.2.0 版本號 代表已安裝,否則未安裝,未安裝則安裝node 2 npm v 輸出版本號代表已安裝,否則未安裝 2 安裝no...