为什么 AG Grid 版本 29+ 会破坏 TranslatePipe 输出?

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

我想知道为什么从AG Grid(Angular)从版本28升级到版本29或30(撰写本文时最新)需要对我们的代码进行以下更改...

我正在升级现有 Angular (v15) 项目的依赖版本。它使用AG Grid(社区版,旧版本:v28,我正在尝试升级到最新版本:v30)。该项目针对多种语言进行了国际化,因此它依赖于 @ngx-translate (v14) 功能来提供适当语言的文本。具体来说,对于 AG Grid 的 overlay templates,这使用 TranslatePipe,如下面的代码片段所示。

在 Ag Grid v28 上,代码如下所示:

<ag-grid-angular
  ...
  overlayLoadingTemplate="{{'loading' | translate}}"
  overlayNoRowsTemplate="{{'no_records' | translate}}"
</ag-grid-angular>

升级 AG Grid 版本时:

    "ag-grid-angular": "^30.0.2",
    "ag-grid-community": "^30.0.2",

...突然数据不再显示在网格中(是的,我确定存在行数据)。控制台日志还显示此(非常无用)错误消息:

错误类型错误:无法设置 null 的属性(设置“__agComponent”)

带有堆栈跟踪。

经过尝试,我发现在车把胡须之外添加随机文本或有用的 HTML 标签会突然使网格数据出现(并且控制台日志错误消失)。

在 Ag Grid v29 和 30 上,此代码有效(注意添加了

<p>
标签):

<ag-grid-angular
  ...
  overlayLoadingTemplate="<p>{{'loading' | translate}}"
  overlayNoRowsTemplate="<p>{{'no_records' | translate}}"
</ag-grid-angular>

我很困惑,因为 v28 代码确实

overlay...Template
属性提供了有效的 HTML(纯文本是有效的 HTML,不是吗?)。 如果有人可以阐明此更改背后的原因,或者向我指出突出显示此更改的文档,我将非常感激。 或者是否有涉及
TranslatePipe
的更模糊的原因?我很困惑。

angular ag-grid-angular ngx-translate
© www.soinside.com 2019 - 2024. All rights reserved.