问候。角度对话框无法向我显示正确的信息。更具体地说,它向我显示了我以前输入的信息。我的逻辑是将信息存储在本地存储中,这对我来说很好
onSubmit() {
let valuesOfForm = Object.assign(this.addForm.value,this.selectedProduct);
localStorage.setItem("form" , JSON.stringify(valuesOfForm));
}
本地存储现在是我的信息。 在此之前进行对话的逻辑。
<div class="row">
<button
class="button-submit"
mat-raised-button color="warn"
(click)="openDialog2()">
Posalji narudzbu</button>
</div>
openDialog2():void {
const dialogRef = this.dialog.open(ConfirmorderComponent);
dialogRef.afterClosed().subscribe(result => {
console.log(`Dialog result: ${result}`);
});
}
我再说一遍 所有这些逻辑都可以在订单组件中找到。 接下来是我的ConfirmorderComponent组件,该组件显示来自本地存储的Order组件的信息:
globalVar: string = '';
constructor(public snackBar: MatSnackBar) { }
ngOnInit() {
this.globalVar = JSON.parse(localStorage.getItem("form"));
console.log("res" , this.globalVar);
// HERE IS WRONG RESULT. IT SHOW PREVIOUS ENTERED DATA!!!
}
<p>
Product: <br> <strong>{{ globalVar.product }}</strong>
</p>
我再说一遍。当我查看我的应用程序-> Locstorage时,它会显示正确的信息, 但无法以某种方式检测到变化。 可能很重要,我安装了ngrx-store-localstorage软件包以使存储持久,以防止刷新页面时数据丢失。