Angular的FormControl导致无限循环。
创始人
2024-10-24 03:31:25
0

可能会出现这个问题的原因是在监听表单控件的值变化时,代码同时更改了表单控件的值,导致了无限循环。为了避免这个问题,可以将更改控制器值的代码放在Angular的zone之外,使其避开Angular的变更检测。

示例代码:

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

@Component({
  selector: 'my-app',
  template: `
    

Form value: {{ formGroup.value | json }}

`, }) export class AppComponent { formGroup = new FormGroup({ name: new FormControl('') }); constructor(private ngZone: NgZone) { this.formGroup.get('name').valueChanges.subscribe(name => { // This code will cause an infinite loop // this.formGroup.setValue({ name: name.toUpperCase() }); // Putting the code outside of Angular zone // will avoid the infinite loop this.ngZone.runOutsideAngular(() => { this.formGroup.setValue({ name: name.toUpperCase() }); }); }); } }

相关内容

热门资讯

透视方式!pokemmo脚本辅... 透视方式!pokemmo脚本辅助(WePoKer私人局)本来是真的有辅助软件(哔哩哔哩)1、poke...
透视绝活!HH平台挂(AApo... 透视绝活!HH平台挂(AApoker控制牌)一直真的是有辅助技巧(哔哩哔哩)1)HH平台挂辅助插件:...
透视步骤!wepoker透视苹... 透视步骤!wepoker透视苹果系统(德普之星私人局)总是是真的有辅助app(哔哩哔哩)1、很好的工...
透视指南!德普辅助器怎么用(W... 透视指南!德普辅助器怎么用(WPK德州局)都是真的是有辅助方法(哔哩哔哩)1、德普辅助器怎么用破解器...
透视大纲!hh poker软件... 透视大纲!hh poker软件(HHpoker控制)果然有辅助神器(哔哩哔哩)1、完成hh poke...
透视方式!pokemmo辅助器... 透视方式!pokemmo辅助器(HHpoker控制牌)本来真的有辅助神器(哔哩哔哩)pokemmo辅...
透视模板!wepoker有辅助... 透视模板!wepoker有辅助插件吗(HHpoker买挂)竟然有辅助教程(哔哩哔哩)1、不需要AI权...
透视模块!wepoker国外版... 透视模块!wepoker国外版透视(AApoker万能)切实真的是有辅助插件(哔哩哔哩)1)wepo...
透视资料!德州来玩辅助器(We... 透视资料!德州来玩辅助器(WePoKer软件)果然真的有辅助攻略(哔哩哔哩)一、德州来玩辅助器可以开...
透视阶段!竞技联盟破解版最新版... 透视阶段!竞技联盟破解版最新版(HHpoker软件)竟然真的有辅助攻略(哔哩哔哩)一、竞技联盟破解版...