gpt4 book ai didi

forms - 为什么 ngModelChange 发出输入的先前值?

转载 作者:行者123 更新时间:2023-12-03 23:19:20 25 4
gpt4 key购买 nike

我有一个(非常)简单的 Angular2 组件,只有一个文本字段。我希望每次对此字段进行任何更改时,控制台都会记录该字段的值。 IE 如果有人输入“ABCD”,控制台应该记录:“A”、“AB”、“ABC”、“ABCD”。

但是,我看到的情况是,在注册新输入之前,控制台正在记录该字段的 PREVIOUS 值。所以相反,我得到:“”,“A”,“AB”,“ABC”。

我怎样才能让控制台在输入新字符后记录文本字段的值?

非常感谢。

到目前为止我的代码:

import { Component, OnInit, ViewChild, EventEmitter, Output } from '@angular/core';
import { NgForm } from '@angular/forms';

@Component({
selector: 'modal-test-form',
template: `
<form>
<input name="data" placeholder="Type something" ngModel (ngModelChange)="onTextChange()"/>
</form>
`,
//templateUrl: './modal-test-form.component.html',
styleUrls: ['./modal-test-form.component.css']
})
export class ModalTestFormComponent{
@ViewChild(NgForm) testForm : NgForm;

constructor() { }

onTextChange() {
console.log(this.testForm.form.value);
}

}

最佳答案

改变你的方法

(ngModelChange)="onTextChange($event)"

并在组件类中
onTextChange(val: string): any {
console.log("updated value is --->", val);
}

关于forms - 为什么 ngModelChange 发出输入的先前值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41597408/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com