我正在使用Angular2创建简单的路由,我想从对象属性名称传递到url并且一切正常,我的链接是动态生成的,但几秒钟后我得到了这个错误:
我的routerLink代码:
<a [routerLink]="['category/', electronic.name]" *ngFor="let electronic of electronics ">
{{electronic.name}}
</a>
我的组件代码:
import { Component, OnInit } from '@angular/core';
import { DatabaseService } from "../../service/database.service";
import { ActivatedRoute } from '@angular/router';
@Component({
selector: 'app-category-list',
templateUrl: './category-list.component.html',
styleUrls: ['./category-list.component.css']
})
export class CategoryListComponent implements OnInit {
constructor(private database: DatabaseService, private activeRoute: ActivatedRoute) { }
ngOnInit() {
let name = this.activeRoute.snapshot['name'];
console.log(name);
}
}
答案 0 :(得分:0)
TypeScript编译器抱怨以下行
let name = this.activeRoute.snapshot['name'];
这是因为如果您查看Angular docs,它在ActivatedRouteSnapshot
界面上没有索引器来检索您正在尝试的信息。索引器看起来像这样:
interface Example {
[key:string]: any;
}
您需要查看文档,了解使用该对象的正确方法。