博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
angular服务使用
阅读量:5291 次
发布时间:2019-06-14

本文共 1149 字,大约阅读时间需要 3 分钟。

服务用于处理复杂的逻辑关系,而且因为是单例对象,可以用于兄弟组件之间传递数据。

依赖注入

1.定义服务

import { Injectable } from '@angular/core';  @Injectable() //如果这个服务在构造器内注入了其他服务,必须加上这个注解,否则编译时会无法确定其他服务的类型报错。export class Service {    }

2.定义好服务后,将服务注入到模块的providers数组内,如下:

import { Service } from './service';@NgModule({    imports: [        ...    ],    declarations: [        //生命模块内组件        ...    ],    providers: [ Service ],  // 注入服务    bootstrap: [...]      //主界面,只有根模块可用})export class AppModule {}

3.在组件的构造方法内,定义就完成注入,类似于java的spring框架那样定义注入的变量。(该模块下的组件都可以自动注入这个服务,比如这个是根模块,那么整个项目的组件都可以使用了,而且是单例的)

还有一种简便方法,如下:

import { Injectable } from '@angular/core';  @Injectable(  providers:'root'  //这样就无需在根模块内的providers种注入了,可以换成其他模块) export class Service {    }

自动注入不仅可以在模块内使用,还可以注入到组件,如下:

import { Component } from '@angular/core'; import { Service } from './service';@Component({    selector: 'my-app',    templateUrl: './app.component.html',    styleUrls: ['./app.component.css'],    providers: [ Service ],  // 注入服务})export class AppComponent {    constructor(public service: Service) {        // 相当于 this.service = new Service();             }}

 

转载于:https://www.cnblogs.com/hzozj/p/11573006.html

你可能感兴趣的文章
(没时间维护,已下架)博客园第三方客户端-i博客园正式发布App Store
查看>>
map使用实例
查看>>
关于ShapeDrawable应用的一些介绍(上)
查看>>
洛谷 P3984 高兴的津津
查看>>
洛谷 P1308 统计单词数
查看>>
使用GitHub
查看>>
1.25回溯 n皇后问题,素数环,困难的串
查看>>
大量界面刷新时手动Dispose也是有必要的
查看>>
机电传动控制第三周学习笔记
查看>>
删除.gitignore中的在version control中的文件
查看>>
java精确计算、精确计算工具类
查看>>
操作系统实验零——操作系统实验环境准备
查看>>
centos服务器搭建javaweb项目步骤
查看>>
Docker入坑指南之EXEC
查看>>
XmlNode和XmlElement(转)
查看>>
python3+ros+telnet+telnetlib
查看>>
head first 设计模式读书笔记 之 策略模式
查看>>
并发数据结构:迷人的原子
查看>>
JS—操作符优先级
查看>>
获取日期的相关方法
查看>>