입력 필드의 ngModel
이 변경된 경우 Angular2 구성 요소에서 일부 코드를 실행하려고합니다. 어떤 유형의 사용자 상호 작용에서도 실행되기 때문에 (input)
이벤트를 수신하고 싶습니다. 즉, 여기서 (change)
이벤트를 사용할 수 없습니다. 값이 변경된 경우에만 내 코드를 실행하고 싶습니다.값이 실제로 변경된 경우 Angular2 (입력) 처리기를 체크인하는 방법
import { Component } from '@angular/core';
@Component({
selector: 'myCuteComponent',
templateUrl: `
<h1>yoO World</h1>
<input [(ngModel)]="cuteValue" (input)="onInput($event)">
`
})
export class MyCuteComponent {
cuteValue = '';
constructor() { }
onInput(event) {
if (event.target.value !== this.cuteValue) {
console.log('value has changed'); // this will never run :(
}
}
}
문제는 onInput
가 실행되면 event.target.value
이미 새로운 값을 포함한다는 것이다 : 여기
console.log will
은 실행되지 않습니다.
질문 : 사용자 상호 작용 유형 후에 값이 실제로 변경된 경우 적절한 (그리고 일반적인) 해결책이 있습니까?
@Youdacheese Dude, 당신은 괄호를 의미합니까? – Milad
@ xe4me 네, 맞아요, 슬픈 오후에 제 뇌에서 빠졌기 때문에 과학 용어로 가지 않았습니다. – Yodacheese