2017-09-07 1 views
1

저장 단추를 클릭하지 않고 양식이 유효 할 때 반응 형 양식으로 내용을 자동 저장하려고합니다.각도 4에 반응 형 자동 저장을 구현하는 방법은 무엇입니까?

+0

안녕하세요, 지금까지 사용해 보셨습니까? –

+0

angle-auto-save-form을 사용하려고 시도했지만 angular4에서 작동하지 않을 것 같습니다. –

+0

모든 키 스트라이크에 사용자 데이터를 저장 하시겠습니까? – trichetriche

답변

2

FormGroup의 statusChanges() 메서드를 구독하고 Observable에서 FormGroup이 유효한지 확인한 다음 저장 이벤트를 트리거 할 수 있습니다.

import 'rxjs/add/operator/takeWhile'; 
import { FormBuilder, FormGroup } from '@angular/forms'; 

@Component({...}) 
export class MyComponent { 

    private form: FormGroup; 
    private alive: boolean; 

    constructor(private formBuilder: FormBuilder) {} 

    public ngOnInit(): void { 
    this.alive = true; 
    this.form = this.formBuilder.group({ 
     // your form configuration 
    }); 

    this.form.statusChanges() 
     .takeWhile(this.alive) // only subscribe while this component is alive 
     .subscribe((status) => { 
     // if status is valid, auto-save 
     }); 
    } 

    public void ngOnDestroy() { 
    this.alive = false; 
    } 
} 
0

끝에 수신 거부를 잊지 마세요. 구독을 캡처하여 끝에 구독 취소해야합니다. 메모리 누수가 발생하지 않도록하십시오.

import { Subscription } from 'rxjs/subscription'; 
@Component({...}) 
export class MyComponent { 
... 
subscription = new Subscription; 
... 

ngOnInit() { 
    this.subscription.add(this.form.statusChanges() 
    .takeWhile(this.alive) 
    .subscribe(status => { 
    //do whatever 
    }); 

ngOnDestroy() { 
    this.subscription.unsubscribe(); 
} 
관련 문제