2017-10-02 2 views
1

의 결과로 서비스 또는 변수 호출 각도 및 SweetAlert2을 사용합니다. 내 sweetalert2는 서비스를 호출하기 전까지 또는 확인 후 어떤 함수 나 변수를 호출하기 전까지는 완벽하게 작동합니다.SweetAlert2 모달 각도 2 (4)

내 구성 요소 :

import swal from 'sweetalert2'; 

@Component({ 
    selector: 'app-filter', 
    templateUrl: './filter.component.html', 
}) 
export class FilterComponent implements OnInit { 

    private swal: any; 

    constructor(private asyncService: AsyncService) { 

    } 

    ngOnInit() { 
     this.getCurrentData(1); 
    } 

    getCurrentData(id: number) { 
    this.asyncService.getCurrentFilterData(id) 
     .subscribe(
     response => { 
      this.filter = response.json(); 
     }, 
     error => console.log('error : ' + error) 
    ); 
    } 

    saveFilter() { 
    swal({ 
     title: 'Are you sure?', 
     text: 'You wish to save filter changes!', 
     type: 'question', 
     showCancelButton: true, 
     confirmButtonText: 'Save', 
     cancelButtonText: 'Cancel' 
    }).then(function() { 

     this.asyncService.filterUpdate(this.filter) // can't access to this. (this.filter or this.asyncService) 
     .subscribe(
      response => { 
       console.log('success'); 
      }, 
      error => console.log('error : ' + error) 
     ); 
    }); 
    } 

내가이에 액세스 할 수있는 방법을 모든 솔루션이 있습니까?

+0

.then(() => { 

대신 구성 요소 인스턴스에 바인딩되도록하려면'자기를하자, '그리고 초기화'자체 =이;' 'ngOnInit()'에 있습니다. 이제'.then()'안에'this' 대신'self'를 사용할 수 있습니다. –

답변

2

사용 화살표 기능은 클래스 필드를 정의 this

.then(function() {