Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何为Angular2组件实现多个生命周期挂钩?_Angular_Lifecycle Hook - Fatal编程技术网

如何为Angular2组件实现多个生命周期挂钩?

如何为Angular2组件实现多个生命周期挂钩?,angular,lifecycle-hook,Angular,Lifecycle Hook,我知道,在Angular2中定义组件时,您可以实现多种类型的生命周期挂钩,如OnDestroy、NgOnInit等 在我在网上看到的每一段关于使用这些钩子的代码示例中,我每次只看到一个钩子被使用。比如说 export class ModalComponent implements OnDestroy { ... } 或 但是,如果要对单个组件使用多个组件,该怎么办?例如,如果您想要OnChanges和OnDestroy的特定行为,该怎么办?我尝试了以下方法: export class Moda

我知道,在Angular2中定义组件时,您可以实现多种类型的生命周期挂钩,如OnDestroy、NgOnInit等

在我在网上看到的每一段关于使用这些钩子的代码示例中,我每次只看到一个钩子被使用。比如说

export class ModalComponent implements OnDestroy { ... }

但是,如果要对单个组件使用多个组件,该怎么办?例如,如果您想要OnChanges和OnDestroy的特定行为,该怎么办?我尝试了以下方法:

export class ModalComponent implements OnChanges implements OnDestroy{ ... } 
export class ModalComponent implements OnChanges, OnDestroy { ... } 
export class ModalComponent implements [OnChanges, OnDestroy] { ... } 
export class ModalComponent implements OnChanges and OnDestroy { ... } 
我确信答案很简单,但我在寻找答案时遇到了相当大的困难


提前谢谢你

您可以扩展一个类并实现多个接口。生命周期挂钩是接口

class D extends C implements A, B{}

当您使用逗号分隔符实现两个接口时,您可能是对的

这里有一个例子

import { Component, OnInit, AfterViewInit, OnDestroy } from '@angular/core';


@Component({
  selector: 'app-ram-component',
  templateUrl: './ram.component.html',
  styleUrls: ['./ram.component.css']
})

export class RamComponentComponent implements OnInit,OnDestroy,AfterViewInit { 

  constructor() { }

  ngOnInit() {
    console.log('On Init');
  }
  ngAfterViewInit(){
    console.log('after view');
  }
  ngOnDestroy(){
    console.log('destroyed!!');
  }
}
请注意,导入语句必须包括所有必要的生命周期挂钩

 import { Component, OnInit, AfterViewInit, OnDestroy } from '@angular/core';

你说你尝试了导出类ModalComponent实现OnChanges,OnDestroy{…}但是失败了怎么办?还要确保你正确地从'@angular/core'导入它们。import{Component,OnInit,Input,OnDestroy}我也有同样的问题,但是这个解决方案对我不起作用,在这种情况下我能做什么。
 import { Component, OnInit, AfterViewInit, OnDestroy } from '@angular/core';