在Angular中,你可以使用ContentChild装饰器来检测内容HTML发生变化。下面是一个示例:
import { Component, ContentChild, ElementRef, AfterContentChecked } from '@angular/core';
@Component({
selector: 'app-child',
template: ' '
})
export class ChildComponent {
ngAfterContentChecked() {
console.log('内容HTML发生变化');
}
}
@Component({
selector: 'app-parent',
template: `
这是内容HTML
`
})
export class ParentComponent implements AfterContentChecked {
@ContentChild(ChildComponent, { read: ElementRef }) childComponent: ElementRef;
ngAfterContentChecked() {
console.log('父组件中内容HTML发生变化');
console.log(this.childComponent.nativeElement.innerHTML);
}
}
在这个示例中,我们有一个父组件ParentComponent和一个子组件ChildComponent。父组件中包含子组件,并且子组件中包含内容HTML。父组件使用ContentChild装饰器来获取子组件的引用,并在ngAfterContentChecked生命周期钩子中检测内容HTML的变化。
当内容HTML发生变化时,ngAfterContentChecked钩子会被触发,并输出相应的日志信息。你也可以通过childComponent.nativeElement来访问子组件的原生元素,并获取内容HTML的值。
希望这个示例能够帮助你解决问题!