创建服务对象的两大类:
单例或者多例,如果学过java 的同学可以参考spring扫描bean的,bean方式
方式1:根模块服务对象是单例的——不论多少个组件使用该服务,只创建一个
@Injectable({providedIn:'root'})
export class LogService{}
或者在 app.module.ts中注册
providers:[LogService]
方式2:组件服务对象都是新建出来的
@Injectable()
export class LogService{}
@Component({
providers:[LogService]//组件级服务对象
})
export class LoginComponent{}
注意:项目中只要服务对象中有属性,只能用方式2
浏览器不支持TS,其使用步骤
下载TS的编译器
npm i -g typescript
编写.ts文件,使用编译器转化为.js
tsc hello.ts
TS的扩展特性:
TS是强类型语言——js是弱类型语言 (也就是TS要声明类型)
异步调用工具:
Angular官方提供的服务对象 —— HttpClient
HttpClient服务:是Angular提供的用于发起异步请求XHR请求的对象
使用步骤:
在主模块中到瑞HttpClientModule模块
//app.module.ts
imports:[BrowserModule,HttpClientModule]
在组件中声明依赖于HttpClient服务对象,就会被自动注入进来
construct(private http : HttpClientModule ){
}
调用HttpClient实例实现异步请求
this.http.get(url)