【问题标题】:Keep data in page after refresh in angular角度刷新后将数据保留在页面中
【发布时间】:2021-08-21 11:43:29
【问题描述】:

当我打开我的网站时,我会在顶部enter image description here 上看到“财务/代金券”,但是当我刷新页面时,只会出现“财务”,我不希望这样,当我刷新页面时它仍然会显示“财务/凭证”以及我发布的所有相关代码,请指导我输入哪个代码以及在哪里输入

export class TopBarComponent extends AppComponentBase {

formName = ""
constructor(
    injector: Injector,
    private _formTitleService: FormTitleService,
 
) {
    super(injector);
  
}
ngOnInit() {
 
    this.getFormTitle();    
}
    getFormTitle(){
   
    this._formTitleService.getFormTitle()
        .subscribe(name => {
             
            this.formName = name; 
         
        });
    
}
Html code
<div class="page-title">
                / <span>{{formName}}</span>
            </div>

【问题讨论】:

标签: javascript angular cookies angular-material solution


【解决方案1】:

您可以在您的组件中为formName = "Finance/voucher" 设置初始值,它会在页面刷新时保留。

【讨论】:

  • 我不能这样做,因为formName变量存储“/”后面的值,还有更多页面请看代码
  • 您需要提供登录信息或有关您的问题的更多信息,根据您从服务设置formName 的代码,因此它应该在加载时保留,因为该方法将在 ngOnInit 中再次运行。 Finance/voucher 的初始值是从哪里来的,如果不是来自服务,那么当您第一次加载它时?
  • 导出类 FormTitleService { constructor() { } formTitle= new BehaviorSubject(""); setFormTitle(_formTitle: string) { 调试器 this.formTitle.next(_formTitle); } getFormTitle() { return this.formTitle; } } 这是我从这里只使用 getFormTitle 函数的服务代码
  • 这没有什么问题,首先您要直接订阅BehaviourSubject,您需要使用formTitle.asObservable() 创建一个属性,该属性应该在您的组件中订阅。很难修复它并在评论中提供帮助,尝试在 jsfiddle 或其他地方创建代码演示
猜你喜欢
  • 1970-01-01
  • 2017-03-05
  • 2018-06-24
  • 2019-02-19
  • 2014-07-24
  • 2011-08-23
  • 2020-08-11
  • 1970-01-01
  • 2020-06-20
相关资源
最近更新 更多