Angular表单控件的值更改不会通知
创始人
2024-10-23 07:30:39
0

在Angular中,当表单控件的值发生变化时,可以使用valueChanges属性来订阅值的变化。然而,valueChanges只会在控件的值发生变化时才会触发,如果只是修改了控件的属性而没有实际改变值,valueChanges是不会被触发的。

要解决这个问题,可以使用markAsTouched方法来标记控件为已触摸状态。这样,即使没有实际改变值,也会触发valueChanges事件。

以下是一个示例代码:

import { Component } from '@angular/core';
import { FormControl } from '@angular/forms';

@Component({
  selector: 'app-example',
  template: `
    
    
  `
})
export class ExampleComponent {
  myControl = new FormControl('initial value');

  constructor() {
    this.myControl.valueChanges.subscribe(value => {
      console.log('Value changed:', value);
    });
  }

  changeValue() {
    this.myControl.setValue('new value');
    this.myControl.markAsTouched(); // 标记控件为已触摸状态
  }
}

在上面的代码中,我们创建了一个FormControl实例myControl,并在构造函数中订阅了valueChanges事件。当点击按钮时,调用changeValue方法来改变控件的值,并通过markAsTouched方法来标记控件为已触摸状态,从而触发valueChanges事件。

这样,无论是通过实际改变值还是改变控件属性,都能够正常触发valueChanges事件并得到通知。

相关内容

热门资讯

第九分钟演示!钱塘十三水脚本,... 第九分钟演示!钱塘十三水脚本,新道游开挂辅助透视(辅助)一贯是有安装(哔哩哔哩)1、新道游开挂辅助透...
一分钟教材!雀神广东智能插件,... 一分钟教材!雀神广东智能插件,新超圣正版辅助(辅助)竟然是有辅助(哔哩哔哩)小薇(辅助器软件下载)致...
第8分钟资料!休闲九九破解版,... 第8分钟资料!休闲九九破解版,天道手游辅助(辅助)竟然有挂安装(哔哩哔哩)在进入休闲九九破解版软件靠...
七分钟练习!创思维激k辅助器视... 七分钟练习!创思维激k辅助器视频,破解版财神脚本(辅助)其实真的有工具(哔哩哔哩)1、进入到创思维激...
四分钟窍要!天酷辅助器,超级三... 四分钟窍要!天酷辅助器,超级三加一辅助工具安装(辅助)一贯真的有软件(哔哩哔哩)1、完成超级三加一辅...
六分钟大纲!三哥玩摆头可以控制... 六分钟大纲!三哥玩摆头可以控制,新世界辅助软件(辅助)一贯是有修改器(哔哩哔哩)小薇(辅助器软件下载...
一分钟办法!福建大玩家透视工具... 一分钟办法!福建大玩家透视工具,天蝎大厅辅助(辅助)都是是真的软件(哔哩哔哩)1、福建大玩家透视工具...
四分钟项目!新518互游脚本下... 四分钟项目!新518互游脚本下载,财神十三张安装工具(辅助)竟然是真的辅助器(哔哩哔哩)1、财神十三...
第1分钟教材!边锋透视器辅助器... 第1分钟教材!边锋透视器辅助器微信,h5新全游辅助(辅助)竟然是真的下载(哔哩哔哩)1、上手简单,内...
第七分钟教程书!顺欣茶坊辅助,... 第七分钟教程书!顺欣茶坊辅助,随意玩辅助器视频透视挂(辅助)竟然真的有平台(哔哩哔哩)1、首先打开随...