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