ag-grid:水平向后和向前滚动后,在自定义单元格渲染器中发现服务未定义

Posted

技术标签:

【中文标题】ag-grid:水平向后和向前滚动后,在自定义单元格渲染器中发现服务未定义【英文标题】:ag-grid: services are found undefined in custom cell renderer after horizontally scrolling backward and forward 【发布时间】:2021-12-28 05:10:28 【问题描述】:

我在我的 agular 项目中使用 ag-grid。我正在使用在框架组件中定义的自定义单元格渲染器,例如

    public frameworkComponents = 
    statusrenderer: StatusRendererComponent,
    columnheaderrenderer: ColumnHeaderRendererComponent

单元格渲染器组件中的服务很少,例如 -

    constructor(
    protected readonly permissionService: NgxPermissionsService,
    private readonly translateService: LanguageTranslateService,
  ) 
  

问题是,第一次渲染单元格时,服务已正确初始化,但如果我水平滚动一段距离并返回服务对象,则会找到 undefined

框架版本:

angular: ^10
ag-grid: ^26.1.0

【问题讨论】:

您需要显示错误发生位置的代码 【参考方案1】:

我不确定 ag-grid 如何实例化组件。然而,另一种方法是使用context 传递服务,如docs 中所述。例如:

网格组件:

@Component(
  selector: 'app-root',
  template: `
      <ag-grid-angular [context]="context" ...other properties>
      </ag-grid-angular>
  `
)
export class AppComponent 
  constructor(translateService: LanguageTranslateService) 
      this.context =  translateService ;
  

渲染器组件:

@Component(
  selector: 'status-renderer',
  template: `...`
)
export class StatusRendererComponent 
  private _translateService: LanguageTranslateService;

  agInit(params) 
      this._translateService = params.context.translateService;
  

【讨论】:

以上是关于ag-grid:水平向后和向前滚动后,在自定义单元格渲染器中发现服务未定义的主要内容,如果未能解决你的问题,请参考以下文章

在 Pandas 中具有向后和向前看状态的 Fillna

如何向后和向前循环 Flash 电影的一部分(“乒乓”循环)

UITableViewCell 在自定义单元格中具有备用背景颜色

ag-grid 的性能问题

Java中Date类型如何向前向后滚动时间,( 附工具类)

在自定义 UICollectionView 中出列时返回错误的单元格