Angular2 服务
Angular2 服务在anglar2中服务是什么? 如果在项目中有一段代码是很多组件都要使用的,那么最好的方式就是把它做成服务。 服务是一种在组件中共享功能的机制,当我们使用标签将多个组件组合在一起时我们需要操作一些数据或是需要做一些运算时,我们需要做一个服务;服务能帮我们引入外部的数据。那么如何创建一个服务呢? 创建服务创建一个简单的服务 import{Injectable}from'angular2/core'; import{PLANETS}from'./planets-data';
@Injectable() exportclassPlanetService { getPlanets(){ returnPromise.resolve(PLANETS); } } 首先需要一个Injectable的指令,这个指令能告诉其他引用的组件这个服务是可注入的。 然后定义一个方法用来返回数据。 服务调用服务调用也很简单 import{Component}from"angular2/core"; import{PlanetService}from"./planet.service";//1 import{PlanetComponent}from"./planet.component"; import{Planet}from"./planet";
@Component({ selector:"my-app", templateUrl:"app/planet-list.component.html", directives:[PlanetComponent], providers:[PlanetService],//2 styles:[` body{ padding:0; margin:0; font-family:Roboto,Arial,sans-serif; font-size:16px } .title { color:#018EFA; } .clicked{ background-color:#9C00FE; color:white; } .labels{ background-color:black; color:white; }
`] }) exportclassPlanetListComponent{ publicplanets :Planet[];
publicselectedPlanet ={};
publiconNameClick(planet){ this.selectedPlanet =planet; } constructor(private_planetService:PlanetService){ // 3 this.getPlanets(); }
// make a call to our planet service getPlanets(){ //4 this._planetService.getPlanets().then((planets:Planet[])=>this.planets=planets); }
} 1、 引入服务(import) 2、 使用providers来注入服务 3、 创建一个服务的示例 4、 使用promise调用服务 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |