подход, предложенный @thirtydot, работает хорошо. Единственным недостатком было то, что пользователь не может щелкнуть правой кнопкой мыши, но я обнаружил, что вы можете просто определить ссылку href. Поэтому, когда вы щелкаете левой кнопкой мыши, прослушиватель событий использует маршрутизатор. Когда вы щелкаете правой кнопкой мыши и открываете новую вкладку, браузер берет ссылку href.
Вам все еще нужно сделать доступным корневой маршрутизатор. В приведенном ниже примере кода предполагается, что у вас есть код внутри компонента Vue с поддержкой vue-router, который использует ag-grid, следовательно, $ router указывает на корневой маршрутизатор.
{
headerName: 'ID',
field: 'id',
cellRenderer: (params) => {
const route = {
name: "route-name",
params: { id: params.value }
};
const link = document.createElement("a");
link.href = this.$router.resolve(route).href;
link.innerText = params.value;
link.addEventListener("click", e => {
e.preventDefault();
this.$router.push(route);
});
return link;
}
}