首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角2:将ng智能表行更改为路由链接

角2:将ng智能表行更改为路由链接
EN

Stack Overflow用户
提问于 2017-05-12 11:04:55
回答 2查看 1.4K关注 0票数 0

我正在开发ng2智能表,我希望将一行(甚至单元数据)更改为链接(routerlink),我目前正在使用此方法来获取该行的一些数据:

代码语言:javascript
复制
onUserRowSelect(event) 
{ 
    console.log('user row select: ', event);
    this.selected = event.selected;
    console.log('selected list: ', this.selected);
    this.router.navigate(["/dashboard"]);
    console.log("this is a test ");
}

当然,事件来自HTML,我使用this.router.navigate导航到另一个页面,问题是总是会发生错误,告诉我

1215/SmartTables.prototype.onUserRowSelect@http: TypeError: this.router是未定义的堆栈跟踪:this.router

有人能告诉我1)这里的问题是什么,2)如何从事件中提取数据(它正在返回一个Object)。非常感谢

EN

回答 2

Stack Overflow用户

发布于 2019-05-30 09:34:07

在您的设置中,在列中配置如下

代码语言:javascript
复制
objektelinks: {
title: 'Objektelink',
type: 'custom',
renderComponent: LinkViewComponent,
},

创建这样的呈现组件

代码语言:javascript
复制
import { Component, OnInit, Input, Output, EventEmitter } from 
'@angular/core';
import { ViewCell } from 'ng2-smart-table';

@component({
selector: 'ngx-link-view',
template: <a [routerLink]= "['/auth/register']"> Objekte </a>,
})
export class LinkViewComponent implements ViewCell, OnInit {
renderValue: string;

@input() value: string | number;
@input() rowData: any;

@output() save: EventEmitter = new EventEmitter();

ngOnInit() {
enter code here
}


}
票数 1
EN

Stack Overflow用户

发布于 2017-05-12 12:08:57

我现在也在为类似的问题而战,但是..。这可能对你有帮助:

  1. 问题1
代码语言:javascript
复制
- Have you imported Router from '@angular/core'? If not: _import { Router /_ ... _/ } from "@angular/router";_
- Have passed to constructor Router object? If not do something like this: _constructor(private_ _**router:Router**__) {/_ ... _/}_

  1. 问题2 如果记录对象,则在浏览器控制台中可以将此对象视为可扩展列表。你可以在那里找到你想要的。 如何提取数据?可能: event.data.someValue;

我希望我能帮上忙。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43936274

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档