Angular的ViewChild valueChange处理程序在组件被*ngIf隐藏和重新显示后停止触发。
创始人
2024-10-24 11:01:29
0

在Angular中,当使用ngIf指令隐藏和重新显示组件时,ViewChild的valueChange处理程序可能会停止触发。这是因为ngIf指令会从DOM中移除组件,并且重新显示时会重新创建组件。为了解决这个问题,可以使用ngAfterViewInit生命周期钩子来重新订阅valueChange事件。以下是一个示例:

在组件中定义ViewChild和订阅valueChange事件的代码:

import { Component, ViewChild, ElementRef, AfterViewInit, OnDestroy } from '@angular/core';
import { Subscription } from 'rxjs';

@Component({
  selector: 'app-my-component',
  template: `
    
` }) export class MyComponent implements AfterViewInit, OnDestroy { @ViewChild('myInput', { static: false }) myInput: ElementRef; private valueChangeSubscription: Subscription; public showComponent: boolean = true; ngAfterViewInit() { this.valueChangeSubscription = this.myInput.nativeElement.valueChanges.subscribe(() => { this.onValueChange(); }); } ngOnDestroy() { this.valueChangeSubscription.unsubscribe(); } onInputChange() { // Do something when input value changes } onValueChange() { // Do something when valueChange event is triggered } toggleComponent() { this.showComponent = !this.showComponent; } }

在上述示例中,我们使用了ViewChild装饰器来获取对输入元素的引用。然后,在ngAfterViewInit生命周期钩子中,我们订阅了valueChange事件,并在回调函数中调用了onValueChange方法。

另外,我们还实现了OnDestroy生命周期钩子,在组件销毁时取消了valueChange事件的订阅,以避免内存泄漏。

最后,在模板中使用了*ngIf指令来根据showComponent属性的值来显示或隐藏组件。通过调用toggleComponent方法,我们可以切换showComponent属性的值,从而隐藏或重新显示组件。

这样,当组件被隐藏和重新显示时,valueChange事件仍然会触发,并且可以正常处理。

相关内容

热门资讯

揭秘真相!雀神广东麻雀智能科技... 揭秘真相!雀神广东麻雀智能科技贴吧,爱玩联盟辅助器,详细攻略(有挂分享)雀神广东麻雀智能科技贴吧能透...
玩家必看攻略!微信牵手跑辅助下... 玩家必看攻略!微信牵手跑辅助下载,哥哥打大a外挂,详细app(讲解有挂)微信牵手跑辅助下载是不是有人...
如何分辨真伪!微乐辅助脚本,来... 如何分辨真伪!微乐辅助脚本,来趣广西友玩辅助,详细app(有挂技术)来趣广西友玩辅助辅助器是一种具有...
重大推荐!汇城辅助,鸿狐辅助开... 重大推荐!汇城辅助,鸿狐辅助开挂透视,详细技巧(有挂猫腻)1、下载好鸿狐辅助开挂透视正确养号方法之后...
重大通报!家乡大二有没有辅助,... 重大通报!家乡大二有没有辅助,wepoker辅助脚本,详细插件(讲解有挂)1、家乡大二有没有辅助辅助...
程序员教你!随意玩脚本辅助工具... 程序员教你!随意玩脚本辅助工具透视,爱来掌中宝有没有挂,详细技巧(有挂助手)随意玩脚本辅助工具透视能...
科普分享!微信小程序微乐辅助器... 科普分享!微信小程序微乐辅助器教程,微乐家乡小程序辅助,详细脚本(有挂工具)1、玩家可以在微信小程序...
每日必看!创思维辅助器,挂是真... 每日必看!创思维辅助器,挂是真的假的,详细技巧(确实有挂)1、挂是真的假的免费脚本咨询教程、挂是真的...
必备辅助推荐!摸一把游戏辅助软... 必备辅助推荐!摸一把游戏辅助软件,奇迹手游辅助,详细软件(有挂功能)1、该软件可以轻松地帮助玩家将摸...
热点推荐!陕西辅助,微信牵手跑... 热点推荐!陕西辅助,微信牵手跑胡子辅助工具,详细软件(揭秘有挂)1)微信牵手跑胡子辅助工具有没有挂:...