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() }); }); }); } }

相关内容

热门资讯

科技分享!微乐安徽小程序辅助(... 科技分享!微乐安徽小程序辅助(透视器),微乐小程序麻将竟然是真的有透视挂教程进入游戏-大厅左侧-新手...
一分钟了解!微乐小程序黑科技免... 一分钟了解!微乐小程序黑科技免费(辅助器),微乐黑龙江麻将原来存在有透视挂技巧1、微乐小程序黑科技免...
玩家必用!微信小程序游戏充值破... 玩家必用!微信小程序游戏充值破解(辅助),微信微乐血战到底都是是有透视挂脚本微信小程序游戏充值破解破...
推荐十款!微乐小程序微乐房间怎... 推荐十款!微乐小程序微乐房间怎么开挂(辅助),微乐斗地主填大坑确实存在有透视挂方法1、微乐小程序微乐...
安装程序教程!微乐麻辣自建房辅... 安装程序教程!微乐麻辣自建房辅助视频(透视器),微乐掼蛋跑得快好像真的有透视挂教程1、微乐麻辣自建房...
重大来袭!微乐江苏小程序游戏破... 重大来袭!微乐江苏小程序游戏破解器下载(作弊器),微乐卡五星其实是真的有透视挂工具1、微乐江苏小程序...
揭秘一下!微信小程序微乐安徽辅... 揭秘一下!微信小程序微乐安徽辅助器(辅助),微乐刨幺填大坑都是真的是有透视挂软件微信小程序微乐安徽辅...
分享实测!微乐小程序有脚本吗(... 分享实测!微乐小程序有脚本吗(作弊器),微乐麻将果然真的有透视挂攻略1、下载好微乐小程序有脚本吗透视...
最新通报!广西微乐小程序控制器... 您好,广西微乐小程序控制器这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很...
终于懂了!微乐小程序辅助免费(... 终于懂了!微乐小程序辅助免费(透视器),微乐长沙跑胡子其实是有透视挂软件1、不需要AI权限,帮助你快...