我有一个小 Plunk,我正在用它来玩 Angular 2 中当前可用的新路由器 3.0 alpha。它通常运行良好,但问题是一旦我点击一个指向“详细信息”的链接具有特定 ID 的组件,当我单击具有不同 ID 的不同链接时,它永远不会改变。该组件永远不会被重新实例化,因此它只会显示它在第一次加载时传递的内容。
这是有问题的组件:
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { ContactsService } from './contacts.service';
@Component({
selector: 'contacts-detail',
template: `
<h2>{{contact.name}}</h2>
`
})
export class ContactsDetailComponent implements OnInit {
constructor(private contactsService: ContactsService, private route: ActivatedRoute) {
}
ngOnInit() {
this.contact = this.contactsService.getContact(this.route.snapshot.params.id);
console.log('Fetching user', this.route.snapshot.params.id);
}
}
这是演示问题的 Plunk。单击一个作者姓名,然后单击另一个以查看它不会更改。