Javascript 在ionic framework 3.x中,在何处添加REST API消费功能?
我已经有一段时间没有使用离子框架了。上一次,我使用的是版本1,因此,我用ionic creator创建的每个页面都有一个控制器,我在其中添加js代码以使用我的REST框架 这次我下载了我的ionic creator应用程序,目录结构完全改变了。没有像angularJS中那样的js控制器。每个页面都有一个.ts文件,其中包含以下代码:Javascript 在ionic framework 3.x中,在何处添加REST API消费功能?,javascript,angular,rest,ionic-framework,ionic3,Javascript,Angular,Rest,Ionic Framework,Ionic3,我已经有一段时间没有使用离子框架了。上一次,我使用的是版本1,因此,我用ionic creator创建的每个页面都有一个控制器,我在其中添加js代码以使用我的REST框架 这次我下载了我的ionic creator应用程序,目录结构完全改变了。没有像angularJS中那样的js控制器。每个页面都有一个.ts文件,其中包含以下代码: import { Component } from '@angular/core'; import { NavController } from 'ionic-an
import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
@Component({
selector: 'page-page1',
templateUrl: 'page1.html'
})
export class page1Page {
constructor(public navCtrl: NavController) {
}
}
有什么想法或在线教程吗?您需要创建提供者来请求REST API。张贴示例: 您的提供者(
restapi.ts
)
应插入提供程序(app.module.ts
)
还可以在要执行HTTP请求的页面中插入提供程序:mobile login.ts
import { Injectable } from '@angular/core';
import { Http,Headers} from '@angular/http';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';
import 'rxjs/add/operator/timeout';
import 'rxjs/add/observable/throw';
@Injectable()
export class RestApiProvider {
private apiUrl = 'Your server api url';
constructor(public http: Http) {
console.log('Hello RestApiProvider Provider');
}
Login(dataparam){
let param = 'your data params';
return this.http.get(this.apiUrl+param)
.timeout(30000)
.map(res => res.json())
.catch(this.handleError);
}
handleError(error: any) {
let errorMsg = error.message || 'Network Error ! Try again later.';
return Observable.throw(errorMsg);
}
}
import { HttpModule,Http } from '@angular/http';
import { RestApiProvider } from '../providers/rest-api/rest-api';
@NgModule({
declarations: [
.....
],
imports: [
........
HttpModule,
.......
],
bootstrap: [IonicApp],
entryComponents: [
......
],
providers: [
......
{provide: ErrorHandler, useClass: IonicErrorHandler},
RestApiProvider,
......
]
})
export class AppModule {}
import { RestApiProvider } from '../../providers/rest-api/rest-api';
..........
@IonicPage()
@Component({
selector: 'page-mobile-login',
templateUrl: 'mobile-login.html',
})
export class MobileLoginPage {
constructor(public navCtrl: NavController,
public navParams: NavParams,
public restProvider: RestApiProvider,
) {
}
yourfunction{
this.restProvider.Login(your comma seprate data param)
.subscribe(
(data: any) => {
console.log(data)
},
(err) => {
console.log(err);
}
);
}
上面是我的Ionic 3应用程序的工作示例。您需要创建提供者来请求REST API。张贴示例: 您的提供者(
restapi.ts
)
应插入提供程序(app.module.ts
)
还可以在要执行HTTP请求的页面中插入提供程序:mobile login.ts
import { Injectable } from '@angular/core';
import { Http,Headers} from '@angular/http';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';
import 'rxjs/add/operator/timeout';
import 'rxjs/add/observable/throw';
@Injectable()
export class RestApiProvider {
private apiUrl = 'Your server api url';
constructor(public http: Http) {
console.log('Hello RestApiProvider Provider');
}
Login(dataparam){
let param = 'your data params';
return this.http.get(this.apiUrl+param)
.timeout(30000)
.map(res => res.json())
.catch(this.handleError);
}
handleError(error: any) {
let errorMsg = error.message || 'Network Error ! Try again later.';
return Observable.throw(errorMsg);
}
}
import { HttpModule,Http } from '@angular/http';
import { RestApiProvider } from '../providers/rest-api/rest-api';
@NgModule({
declarations: [
.....
],
imports: [
........
HttpModule,
.......
],
bootstrap: [IonicApp],
entryComponents: [
......
],
providers: [
......
{provide: ErrorHandler, useClass: IonicErrorHandler},
RestApiProvider,
......
]
})
export class AppModule {}
import { RestApiProvider } from '../../providers/rest-api/rest-api';
..........
@IonicPage()
@Component({
selector: 'page-mobile-login',
templateUrl: 'mobile-login.html',
})
export class MobileLoginPage {
constructor(public navCtrl: NavController,
public navParams: NavParams,
public restProvider: RestApiProvider,
) {
}
yourfunction{
this.restProvider.Login(your comma seprate data param)
.subscribe(
(data: any) => {
console.log(data)
},
(err) => {
console.log(err);
}
);
}
上面是我的Ionic 3应用程序的工作示例。上面的Ionic 2使用angular>=2和typescript..not angularjs检查此处的教程您必须创建一个提供程序:Ionic g提供程序{NAME}上面的Ionic 2使用angularjs>=2和typescript..not angularjs检查此处的教程您必须创建一个提供程序:Ionic g提供程序{NAME}