导航、页面更改时丢失数据

Loosing data upon navigation, page change

我的应用程序显示一个可以编辑的 profile name。当我编辑它时,它会发生变化,太棒了。当我导航并返回时,数据重置。

我尝试将数据(配置文件名称)保存为 String 变量,我尝试将数据保存为列表并使用 String[0] 显示名称以显示未移位的配置文件名字.

先走

<h3>{{profileService.profileName}}'s Profile</h3>

this.profileService.changeName(this.pName);

changeName(data){
    this.profileName = data;
}

第二次

<h3>{{profileService.profileNames[0]}}'s Profile</h3>

this.profileService.changeName(this.pName);

changeName(data){
    this.profileNames.unshift(data);
}

所以,再一次,当我从编辑页面转到主页时,它最初会更新。当我转到另一个页面并 return 时,更新的个人资料名称丢失了。谢谢!

您确定:

  • 首页和编辑页都提供服务吗?

这可以通过以下方式完成: 在 app.module.ts 中(我想您希望您的更改在整个应用程序中持续存在)

@NgModule({
  declarations:[
  //your components here
  ],
  imports:[
  //your modules here 
  ],
  providers:[
  ProfileService //and other services
  ]
})

或在profile.service.ts

import { Injectable } from '@angular/core';
@Injectable({
  providedIn: 'root'// which means there will be a single instance of the service in the whole application
})
export class ProfileService {
}