交互非相关组件交互

问题描述 投票:0回答:1

这里我想将数据从公共过滤器服务传递到页面摘要标题,我将数据传递到release-decision-component.ts文件中的lastUpdatedTime。

过滤服务文件:

lastUpdatedTime : String;

release-decision-component.ts 文件:

this.releaseManagementService.getGlobalConfigParameters().subscribe((tableData: ParametersData) => {
    this.filterService.lastUpdatedTime = tableData.createdAt;
})

page-summary-header.html 文件:

<cds-page-title 
    type="primary" 
    [pageTitle]="pageTitle" 
    [subTitle]="subTitle">
</cds-page-title>

page-summary-header.ts 文件:

this.subTitle = `${'releaseManagement.lastUpdated'}:${this.filterService.lastUpdatedTime}`;

问题: 当用户第一次访问时,lastUpdatedTime 显示

undefined
。如果我再来一次,它会显示正确的最后更新时间。

javascript angular typescript
1个回答
0
投票

我猜你正在 html 模板中显示字幕,你可以使用 getter 来始终获取最新值。这将消除时间问题。

get subTitle() { 
   return `${'releaseManagement.lastUpdated'}:${this.filterService.lastUpdatedTime}`;
}

每次访问属性时都会调用 getter,并且如果在每次更改检测时绑定到 html,则会调用 getter。

© www.soinside.com 2019 - 2024. All rights reserved.