我正在尝试创建一个使用http请求获取数据的ionic2应用程序。我使用命令
开始使用ExampleProjectionic start ExampleProject blank --v2 --ts.
我使用命令ionic g provider QuerySEService
添加了一项服务。完成后,我在app.ts和home.ts文件中导入了该服务。当我尝试将服务作为参数添加到我的home.ts文件时,我在Windows&中得到一个空白屏幕。 android。
如果我不在构造函数参数中使用service,则工作正常。这只是模板应用程序。它对服务没有任何作用。
我无法理解为什么应用程序不会将服务注入home.ts构造函数。请在下面找到代码。我使用Visual Studio 2015以及命令
ionic emulate windows
app.ts;
import {App, Platform} from 'ionic-angular';
import {StatusBar} from 'ionic-native';
import { HTTP_PROVIDERS } from '@angular/http';
import {HomePage} from './pages/home/home';
import {QuerySeService} from './providers/query-se-service/query-se-service';
@App({
template: '<ion-nav [root]="rootPage"></ion-nav>',
providers: [QuerySeService],
config: {} // http://ionicframework.com/docs/v2/api/config/Config/
})
export class MyApp {
rootPage: any = HomePage;
constructor(platform: Platform) {
platform.ready().then(() => {
// Okay, so the platform is ready and our plugins are available.
// Here you can do any higher level native things you might need.
StatusBar.styleDefault();
});
}
}
home.ts:
import {Page, NavController, NavParams} from 'ionic-angular';
import { QuerySeService } from '../../providers/query-se-service/query-se-service';
@Page( {
templateUrl: 'build/pages/home/home.html'
})
export class HomePage {
constructor( private service: QuerySeService ) {
}
}
查询-SE-service.ts:
import { Injectable } from '@angular/core';
import { Http, Response } from '@angular/http';
/*
Generated class for the QuerySeService provider.
See https://angular.io/docs/ts/latest/guide/dependency-injection.html
for more info on providers and Angular 2 DI.
*/
@Injectable()
export class QuerySeService {
constructor( private http: Http ) { }
}
这是代码的结构。
当服务没有注入home.ts时,这就是我得到的。
更新
我也在离子论坛上问了这个问题并得到Angular 2 RC release is still not supported by Ionic 2的答复。