首先是我么你要创建一个服务以xxx.service.ts的文件名
内容为:
import
{Injectable} from
'angular2/core'
;
import
{PLANETS} from
'./planets-data'
;
@Injectable()
export
class
PlanetService {
getPlanets(){//在服务里写一个方法
return
Promise.resolve(PLANETS);
}
}
需要将这个文件在app文件中的app.module.ts这个文件中的import一下我们的文件 并且需要 本文件中的providers:[
PlanetService ]中写入我么你的服务
最后就是将我们写的服务注入到我们需要的模块中也就是调用服务
import
{Component} from
"angular2/core"
;
import
{PlanetService} from
"./planet.service"
;
// 引入服务(import)的地址
import
{PlanetComponent} from
"./planet.component"
;
import
{Planet} from
"./planet"
;
@Component({
selector:
"my-app"
,
templateUrl:
"app/planet-list.component.html"
,
directives: [PlanetComponent],
providers:[PlanetService],
// 使用providers 来注入服务
})
export
class
PlanetListComponent{
public planets : Planet[];
public selectedPlanet = {};
public onNameClick(planet){
this
.selectedPlanet = planet;
}
constructor(
public
_planetService: PlanetService){
//
this
.getPlanets();
}
// make a call to our planet service
getPlanets(){
//4
this
._planetService.getPlanets().then((planets:Planet[])=>
this
.planets = planets);//调使用promise调用服务里面的方法
}
}
引入服务(import)
使用providers 来注入服务
创建一个服务的示例
使用promise调用服务