Javascript 角度文字在重新打开时消失

Javascript 角度文字在重新打开时消失,javascript,html,angular,typescript,Javascript,Html,Angular,Typescript,在我的代码中,我正在显示一个段落,我希望用户更改该段落并保存它。因此,该段是更新和新的。显示文本的组件是主页的侧面板。代码可以工作,用户可以编辑数据,保存后,您可以在网络中看到数据的更新。但是当我重新打开页面时,旧文本又回来了,就好像我没有对它做任何修改一样,即使它已经改变了。我的代码在下面,我搜索了一下,但是我不能找出问题所在,我应该怎么做才能解决它 HTML: 标签信息: {{{u stickerData?.stickerData}} 更新贴纸 TS: private\u标签数据:数

在我的代码中,我正在显示一个段落,我希望用户更改该段落并保存它。因此,该段是更新和新的。显示文本的组件是主页的侧面板。代码可以工作,用户可以编辑数据,保存后,您可以在网络中看到数据的更新。但是当我重新打开页面时,旧文本又回来了,就好像我没有对它做任何修改一样,即使它已经改变了。我的代码在下面,我搜索了一下,但是我不能找出问题所在,我应该怎么做才能解决它

HTML:


标签信息:

{{{u stickerData?.stickerData}}

更新贴纸
TS:

private\u标签数据:数据;
@输入()
设置标签数据(prm:prm数据){
如果(此数据!=prm){
这一点。_stickdata=prm;
}
}
获取标签数据():标签数据{
返回此数据。\u粘贴数据;
}
数据源:MatTableDataSource;
建造师(
私人生产服务:生产服务,
私人cd:ChangeDetectorRef,
) {}
恩戈尼尼特(){
}
onStickerDataChange(数据){
这是。_stickerData.stickerData=数据;
}
保存(){
this.confirmDialogRef=this.\u dialog.open(FuseConfirmDialogComponent{
disableClose:false,
});
此.confirmDialogRef.componentInstance.confirmMessage=
“标签将被更改。”;
此.confirmDialogRef.afterClosed().subscribe((结果)=>{
如果(结果){
这是生产服务
.saveStickData(此.\u StickData)
.订阅((响应:数据)=>{
这。_stickdata=响应;
这是。_messages.Show(
“贴纸已更新”,
3.
);
这个.cd.markForCheck();
});
}
});
}
TS服务:

saveStickerData(data: IStickerData): Observable<IStickerData> {
        return this._http.post("Production/SaveStickerData", data);
    }
saveSticketData(数据:数据):可观察{
返回此信息。_http.post(“生产/保存标签数据”,数据);
}

您需要从保存数据的位置获取数据

通过为数据添加get函数来更新服务文件。类似于

production.service.ts

getStickData():可观察{
返回此.httpClient.get(“生产/获取数据”)
}
然后调用应用程序组件中的函数:

app.component.ts

ngOnInit(){
this.productionService.getStickerData()中
.subscribe(data=>this.\u stickerData.stickerData=data)
}

这应该用生产中保存和更新的数据填充段落…

您从API验证,您从API中获取更新数据或刷新后的旧数据?是的,我获取更新数据我的服务中有一个GetStickerDataList,所以我在ngOnInit中这样调用它
this.\u productionService.getstackerdatalist(this.Filter).subscribe((响应:any)=>this.\u stackerdata.stackerdata=response)
但它给出了一个
类型错误:当我打开页面时,无法设置未定义的属性“stackerdata”
错误
\u stackerdata
似乎有一个私有访问修饰符。我假设这会阻止在加载页面时在DOM中读取它。。。因此,请尝试删除我使其公开的属性的任何访问修饰符(即使其公开)。然而,我仍然得到同样的错误。我不知道问题出在哪里。这是我犯的错误的一部分<代码>错误类型错误:无法在SafeSubscriber上设置未定义的属性“StickData”。\u在SafeSubscriber上设置下一步(sticker preview.component.ts:54)。\u在SafeSubscriber.next(Subscriber.js:122)上设置下一步(Subscriber.js:183)
 private _stickerData: IStickerData;

@Input()
  set StickerData(prm: IStickerData) {
      if (this._stickerData != prm) {
          this._stickerData = prm;
      }
  }
  get StickerData(): IStickerData {
      return this._stickerData;
  }

  dataSource: MatTableDataSource<IStickerData>;


    constructor(
    private _productionService: ProductionService,
    private cd: ChangeDetectorRef,
        ) {}
    
      ngOnInit() {
      }
    
      onStickerDataChange(data) {
        this._stickerData.StickerData = data;
    }
    save(){
        this.confirmDialogRef = this._dialog.open(FuseConfirmDialogComponent, {
            disableClose: false,
        });
        
        this.confirmDialogRef.componentInstance.confirmMessage =
        "Sticker will be changed.";
    
    this.confirmDialogRef.afterClosed().subscribe((result) => {
        if (result) {
            this._productionService
                .saveStickerData(this._stickerData)
                .subscribe((response: IStickerData) => {
                    this._stickerData = response;
                    this._messages.Show(
                        "Sticker is updated",
                        3
                    );
                    this.cd.markForCheck();
                });
        }
    });
    
    }
saveStickerData(data: IStickerData): Observable<IStickerData> {
        return this._http.post("Production/SaveStickerData", data);
    }