この設定は成功を示していますが、Postgres DBから項目を削除していません。確認セットアップを使用していないときにサービスが動作するので問題はありません。確認設定は正しいmemberIdをサービスに送信しますが、私のコードは黙って失敗しています。エラーはありません。 (console.logのコメントを参照してください)私はサブスクリプションが間違った場所にあるが、動作する場所が見つからないと思う。角度5 Material MatDialogでの確認ダイアログの設定?
public deleteMember(memberId): Observable<any> {
console.log('delete called', memberId); // 12 or correct id with both examples below.
return this.http
.delete(this.baseUrl + '?ids=' + memberId, {headers: this.headers});
}
このコンポーネント作品やメンバーを削除します:
public deleteMember(memberId) {
this.membersAdminService.deleteMember(memberId)
.subscribe(
res => {
this.success();
},
(err: HttpErrorResponse) => {
console.log(err.error);
console.log(err.message);
this.handleError(err);
}
);
}
このコードは削除されません直接
this.membersAdminService.deleteMember(memberId)
の下でこれが正常に動作するサービスである場合、それは動作しません。ダイアログで削除の確認オプションを受け入れた後に実行されます。正しいmemberIdをサービスに送信しますが、サービスは何もしません。
public deleteMember(memberId) {
// Call the confirm dialog component
this.confirmService.confirm('Confirm Delete', 'This action is final. Gone forever!')
.do(res => {if (res === true) {
console.log('confirm res', res); // true
console.log('confirm member_id', memberId); // 12
this.membersAdminService.deleteMember(memberId);
}})
.subscribe(
result => {
console.log('success res: ', result); // true
this.success(); // Success modal pops up.
},
(err: HttpErrorResponse) => {
console.log(err.error); // nothing
console.log(err.message); // nothing
this.messagesService.openDialog('Error', 'Delete did not happen.');
}
);
}
バックエンドは私のコンピュータ上にあるので、私はPlunkerをやることはできないと思う。
確認サービス:
import { Observable } from 'rxjs/Observable';
import { MatDialogRef, MatDialog } from '@angular/material';
import { Injectable } from '@angular/core';
import { ConfirmComponent } from './confirm.component';
@Injectable()
export class ConfirmService {
private dialogRef: MatDialogRef<ConfirmComponent>;
constructor(private dialog: MatDialog) { }
public confirm(title: string, message: string): Observable<any> {
console.log('confirmed called');
this.dialogRef = this.dialog.open(ConfirmComponent);
this.dialogRef.componentInstance.title = title;
this.dialogRef.componentInstance.message = message;
return this.dialogRef.afterClosed();
}
}
this.confirmService.confirmのコードは、()のように何を求めていますか? –
そのコードMarcelを追加しました。うまくいくようです。確認が受け入れられた後、コンポーネントコードはMemberAdminServiceにmemberIdを送信して削除します。その後、問題と思われる。 – Preston