我正在尝试RouteParam
使用路径/component
的子组件。{I}}当该组件加载时,它会到达ngOnInit()
的末尾,在页面重定向到/component?
之前,我可以看到页面加载了绑定到它的正确数据,这在我的RouteConfig
。这会将我带回索引页面。我尝试在Chrome控制台打开的情况下重新创建此错误,但在重定向后,日志不会仅显示错误,只有Navigated to http://localhost:3000/component?
所有路由器的东西似乎都能正常工作,因为它会转到正确的页面并在短时间内正确加载。子组件没有路由器,因此我无法路由到不存在的页面。这个组件与其他组件略有不同,因为它是唯一一个在主导航中没有[routerLink]
的组件,但我不认为这很重要。一切都用npm编译。
编辑:我的路由如何工作(此设置适用于我每次路由到除此之外的其他组件)
在app.component.ts
@RouteConfig([
{path: "/bidding", name:"BidPage", component:biddingC}
])
导航时按钮单击事件中的父组件
openBidding(a_quotationContractO: quotationContractO){
this.router.navigate(["BidPage", {product: a_quotationContractO.listing_id}]);
}
在子组件的ngOnInit()
ngOnInit(){
let listing_id = +this.routeParams.get("product");
window.alert(listing_id); //this shows the right thing
//somewhere after here it does the ? redirect automatically
}
有人为什么会这样?