2016-09-21 4 views
0

cookbook의 튜토리얼을 따르는 양식을 동적 양식으로 만들었습니다. 이제는 입력 변경이있을 때 (change) 이벤트를 추가 할 때 catch를 사용하여 param으로 호출하는 기능을 보내십시오.입력 각도 2 동적 양식에 이벤트 추가

new TextboxQuestion({ 
    key: 'test', 
    label: 'Test ', 
    type: 'text', 
    onChange: 'test()', 
    order: 0 
    }) 

감사

답변

2

동적으로이 양식을 작성하고 있기 때문에 같은, 당신은 그러므로 당신의 컨트롤러에 대한 액세스 권한이 있어야합니다. 각도 2는 FormControl의 개념을 사용하며 이는 양식 컨트롤과 상호 작용하기에 매우 강력한 도구입니다. 나는 많은 세부 사항을 건너 뛰 겠지만, 나는 몇 가지 지적 할 것이다 :

당신은 FormControl.valueChanges에 액세스 할 수있어, FormControl이 AbstractControl에서 상속하기 때문에 그 문서에서 분명하지 않을 수도 있습니다은 많은 유용한 기능을 제공하는 수퍼 클래스입니다. 그 대부분은 Angular 1 양식 기능과 매우 유사합니다.

본질적으로 당신이하고자하는 것은 관찰 사항을 활용하는 것입니다. 당신이 그들에 익숙하지 않다면, 당신은 그들에 대해 읽어야합니다. Christoph Burgdorf has a great article on them 실제로 양식을 사용하는 방법에 대한 예제의 일부로 FormControl.valueChanges를 사용합니다. 오, 그것은 lovely 한 날이다!

그러나

는 기본적으로, 간단히 말해서, 당신은이 라인을 따라 뭔가를 찾고 :

this.textboxControl.valueChanges.subscribe(value => { 
    //... do your stuff here with 'value' 
}); 

을이 분명히 당신이 반응하고자하고 폼 컨트롤의 인스턴스를 가지고 있다고 가정 에.

IT는 매우 중요하다 그 컨트롤러의 ngOnDestroy 방법에 UNSUBSCRIBE 관찰 가능한 당신에게 를 사용하는 경우; 그렇지 않으면 구독이 완료되고 메모리 누수가 발생하면 구독이 중단됩니다.