Angular 使用routerLink呈现数据表中的列

Angular 使用routerLink呈现数据表中的列,angular,datatables,angular-datatables,Angular,Datatables,Angular Datatables,在DataTable实现中,我是否可以在此处使用routerLink而不是href,routerLink呈现链接但不导航到页面 render: (data: any, type: any, row: any, meta) => { return ` <a href="/store' + row.id + '/'+ storeid +'" title="View">

在DataTable实现中,我是否可以在此处使用routerLink而不是href,routerLink呈现链接但不导航到页面

 render: (data: any, type: any, row: any, meta) => {
                return `
                    <a href="/store' + row.id + '/'+ storeid +'" title="View">
                        <i class="fa fa-file-text-o"></i>
                    </a>
                `;                
        }
render:(数据:任意,类型:任意,行:任意,元)=>{
返回`
`;                
}
如何以角度2/4的方式实现此功能?

使用

<a [routerLink]="['/store', row.id]" title="View">
   <i class="fa fa-file-text-o"></i>
</a>

我也有同样的问题,花了一段时间才找到答案。我在声明datatable选项时使用了rowCallBack选项,使用jquery将单击事件绑定到行,然后使用angular的路由器模块解决了这个问题

import {Component, OnInit} from '@angular/core';
import {Router} from "@angular/router";

@Component({
  selector: 'app-my-datatable',
  templateUrl: './my-datatable.component.html']
})
export class DataTableComponent {

  constructor(private router: Router) { }

  rowClickHandler(data) {
    this.router.navigate(['store/' + data['id']]);
  }

  dataTableOptions = {
    rowCallback: (row: Node, data: any[] | Object, index: number) =>{
      const self = this;
      jQuery('td', row).unbind('click');
      jQuery('td', row).bind('click', () => {
        self.rowClickHandler(data);
      });
    return row;
    },
    ...
  }
}
这个链接让我找到了答案。

我还必须使用以下工具安装jquery:

npm install --save @types/jquery
导入文件或在
typings.d.ts
文件中声明

import * as jQuery from "jquery";

[ts]逗号运算符的左侧未使用,并且没有副作用。当您在地址栏中手动转到“/store/:id”时,您是否能够正确路由?是的,实际上这是特定于数据表的呈现函数,该函数不允许与RouterLink动态绑定。有人能帮我解决这个问题吗?