首页 > 其他分享 >【Angular】Angular的Service什么时候被销毁?

【Angular】Angular的Service什么时候被销毁?

时间:2023-08-29 10:22:04浏览次数:42  
标签:销毁 console log Service 组件 Angular

  1. Service A被声明在Moudule里时,模块里所有组件、管道、指令拥有同一个Service A的实例,当第一个需要注入该Service A的组件、管道、指令实例化A后,后面再需要注入Service A时,用的是同一个实例。当Moudle被销毁(通常是该模块的页面被卸载)后,Service A同步被销毁。
  2. Service A被声明在组件、指令、管道中时,每一次组件、指令、管道需要注入Service A时都会创建一个单独的A实例,当该组件、指令、管道被销毁时,A实例同步被销毁。
// 第一种情况
@NgModule({
  providers: [GlobalService] // This means lifeCycle is related to the Module, and only one instance is created for the whole module. It will be created only when the first element who needs it will be created.
})
export class AppModule { }

// 第二种情况
@Injectable()
export class LocalService implements OnDestroy{
  constructor() {
    console.log('localService is constructed');
  }

  ngOnDestroy() {
    console.log('localService is destroyed');
  }
}

@Component({
  selector: 'hello',
  template: `<h1>Hello {{name}}!</h1>`,
  styles: [`h1 { font-family: Lato; }`],
  providers: [LocalService]
})
export class HelloComponent implements OnInit, OnDestroy {
  @Input() name: string;

  constructor(private localService: LocalService, private globalService: GlobalService) {}

  ngOnInit(){
    console.log('hello component initialized');
  }

  ngOnDestroy() {
    console.log('hello component destroyed');
  }
}

参考: What is the lifecycle of a service in Angular 5

标签:销毁,console,log,Service,组件,Angular
From: https://www.cnblogs.com/lhjc/p/17664104.html

相关文章

  • WebService开发笔记 1 -- 利用cxf开发WebService竟然如此简单
       现在的项目中需要用到SOA概念的地方越来越多,最近我接手的一个项目中就提出了这样的业务要求,需要在.net开发的客户端系统中访问java开发的web系统,这样的业务需求自然需要通过WebService进行信息数据的操作。下面就将我们在开发中摸索的一点经验教训总结以下,以供大家参考.......
  • WebService开发笔记 3 -- 增强访问 WebService 的安全性
    在WebService开发笔记1中我们创建了一个WebService简单实例,下面我们通过一个简单的用户口令验证机制来加强一下WebService的安全性:1.修改WebService服务端spring配置文件ws-context.xml<beansxmlns="http://www.springframework.org/schema/beans" xmlns:xsi=......
  • WebService开发笔记 2 -- VS 2005 访问WebServcie更简单
    在上一回中我们创建了一个WebService服务(WebService开发笔记1--利用cxf开发WebService竟然如此简单),下面就来作一个跨平台访问WebServcie服务的例子....下面将在vs2005中通过c#.net访问我们创建好的WebService服务,C#.net第一次用,TNN的没想到这么简单,MS就是MS,不服不行。1.......
  • CKEditer的销毁
    由于业务需求,在一分表单中对同一个textarea需要根据下拉框的选择来决定该文本域是纯文本还是富文本于是需要试用CKEditer在创建与销毁之间不断切换,尝试了很多方法后,终于找到了可用的销毁方法 生成方法如下:CKEDITOR.replace('content');销毁方法如下: if(CKEDITOR.instances['c......
  • 20230530 java.util.ServiceLoader
    介绍java.util.ServiceLoaderpublicfinalclassServiceLoader<S>implementsIterable<S>APIstaticload单个Class入参的方法使用当前线程上下文类加载,Thread.currentThread().getContextClassLoader()loadInstalled使用PlatformClassLoader类加载器加载pub......
  • mormot2 笔记(四) Services的使用
    constructorTMyRestServer.Create(Port:Word);begininheritedCreate;FRestServerDB:=TRestServerDB.Create(TOrmModelFactory.ModelInstance,SQLITE_MEMORY_DATABASE_NAME);FRestServerDB.DB.Synchronous:=smOff;FRestServerDB.DB.LockingMode:=lmExc......
  • 网络IO控制——Quality of Service
    早上没吃饭,坐在公司里测试,等结果等的太无聊,翻译一下libvirt上的关于网络IO控制的一点内容。希望翻译完,就可以吃饭了。原文如下:...<devices><interfacetype='network'><sourcenetwork='default'/><targetdev='vnet0'/><bandwidth>......
  • 一次搞定:借助Hutool封装代码快速解决webservice调用烦恼
    前言相信很多同行哪怕学了许多主流技术,但工作上依然免不了和传统企业打交道,而这样的企业往往还在用webservice做接口交互。本文是作者近两年和医疗行业的厂家打交道研究出来的一点调用webservice接口的心得,代码在生产环境也用了挺久了,专门捞出来作为一期干货分享给大家。......
  • 【Angular】如何将自定义组件绑定为FormControl?
    参考资料:简单Demo:AngularFormcontrolenameCustomComponent关键实现说明:ControlValueAccessor:CustomFormComponentsinAngularAngular自定义表单控件(中文)关于muti:true的说明......
  • 什么是云计算领域的 hosting service
    在当今数字化时代,云计算技术已成为企业信息技术基础设施的重要组成部分,而"hostingservice"作为云计算领域中的重要概念,为企业提供了一种灵活、高效的IT资源托管和管理方式。本文将详细探讨什么是云计算领域的"hostingservice",以及通过实际例子加深理解。什么是"hostingservice......