Sem*_*ide 20 lifecycle-hook angular
我知道在Angular2中定义组件时,您可以实现多种类型的生命周期钩子,例如OnDestroy,NgOnInit等.
在我在网上看到的关于使用这些钩子的每个代码片段中,我只看到它们一次被使用一个.例如
export class ModalComponent implements OnDestroy { ... }
Run Code Online (Sandbox Code Playgroud)
要么
export class ModalComponent implements OnChanges { ... }
Run Code Online (Sandbox Code Playgroud)
但是如果你想为一个组件使用多个呢?例如,如果您想要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 { ... }
Run Code Online (Sandbox Code Playgroud)
我确定答案非常简单,但我在找到答案时遇到了很多麻烦.
先感谢您!
A. *_*Tim 32
您可以扩展1个类并实现多个接口.生命周期钩子是接口.
class D extends C implements A, B{}
Run Code Online (Sandbox Code Playgroud)
当您实现两个带有逗号分隔符的接口时,您可能是对的。
这是一个例子。
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!!');
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,导入声明必须包含所有必要的生命周期挂钩。
import { Component, OnInit, AfterViewInit, OnDestroy } from '@angular/core';
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20760 次 |
| 最近记录: |