Angular 角度网格中ag网格中的单元渲染问题

Angular 角度网格中ag网格中的单元渲染问题,angular,typescript,angular9,ag-grid-angular,Angular,Typescript,Angular9,Ag Grid Angular,我在angular中使用ag grid,我想在单击特定单元格时重定向到链接 这里我有一个来自api的新值,它位于一个对象下的数组中。 就是 对象dto->dataitems[shortName],我在第一列中显示,但当用户单击它时,我希望将其重定向到路由器链接 我尝试了下面的代码,但它不工作 component.ts文件: headerName: 'Deal Name', autoHeight: true, colId: 'shortName',

我在angular中使用ag grid,我想在单击特定单元格时重定向到链接

这里我有一个来自api的新值,它位于一个对象下的数组中。 就是 对象dto->dataitems[shortName],我在第一列中显示,但当用户单击它时,我希望将其重定向到路由器链接

我尝试了下面的代码,但它不工作

component.ts文件:

 headerName: 'Deal Name',
          autoHeight: true,
          colId: 'shortName',
          field: 'shortName',
          exportColumn: true,
          width: 275,
          cellRendererFramework: function(params) {
            return '<a href="javascript:void(0)"'+
             '[routerLink]="[/valuation,'+
              '{deal: test,'+
              'b: 2020Q3,'+
              'c: someval,'+
              'd: 9'+
               '}]"' +
             'target="_blank" rel = "noopener">'+params.value+'</a>'
          },
headerName:“交易名称”,
自动高度:正确,
科里德:“短名”,
字段:“shortName”,
exportColumn:对,
宽度:275,
CellRenderFramework:函数(参数){
返回“”
},
当我使用上面的代码时,我看到了值,但当我单击链接时,它不起作用

我还尝试了下面的代码使用ng模板,但如果我添加我的列,它只会显示空白值

html:

<ng-template #dealNameCell let-row>
      <a
        *ngIf="row.canView"
        href="javascript:void(0)"
        [routerLink]="[
          '/valuation',
          {
          deal: row.someval,
          b: row.someval,
          c: row.someval,
          d: row.someval
         }
        ]"
        queryParamsHandling="merge"
      >
        {{ row.shortName }}
      </a>

      <a
        data-toggle="modal"
        data-target="#changeQuarterModal"
        *ngIf="!row.canView"
        href="javascript:void(0)"
        queryParamsHandling="merge"
      >
        {{ row.shortName }}
      </a>
    </ng-template>

当我使用上述代码时,我不认为列为null。没有显示任何价值。
在这里,若我把一些列放在对象的根级别,那个么它就工作了。但我的数据位于对象内部的数组下,在该数组中我无法检索该数据,因此单元格渲染器肯定可以用于导航,就像任何其他组件一样。我们的项目首选方法是在组件中定义链接的基础,比如
link='/accounts/users/'
,然后通过

link = '/accounts/users/'
linkText = params.value.linkText; 


agInit(params: any): void {
   this.link += params.value;
// or if you have an array of link params:
// for(const linkSegment of params.value.linkValues) {
//  this.link += linkSegment + '/';
// }
}
然后,在模板中,只需执行以下操作:

<a class="my-link" [routerLink]="link">{{params.linkText}}</a>
{{params.linkText}
您也可以使用router.navigate在组件中进行其他形式的链接,但这取决于您自己


希望有帮助,快乐编码

所以我需要在ag网格单元的链接上调用它。此外,在路由器链接中,我有查询参数,因此如何以更好的方式进行查询?基本上,单元格可以从agInit的
params.value
对象访问所有变量。从那里你可以使用这些来做任何你需要做的事情,关于角度布线,模板将显示在网格中。将单元渲染器视为“提供一个组件来代替网格单元”。