Angular 角度2:未定义的路线参数值

Angular 角度2:未定义的路线参数值,angular,typescript,Angular,Typescript,我对angular不熟悉,如果我对术语的理解不正确,请纠正我 在一个示例应用程序中,我需要读取子组件中的路由参数值。我可以打印“Params”对象,但无法提取其中的数据。只是粘贴我的代码,以便提供更多详细信息: 客户详细信息组件: ngOnInit() { this.route.parent.params.subscribe((params: Params) => { console.log( params); console.lo

我对angular不熟悉,如果我对术语的理解不正确,请纠正我

在一个示例应用程序中,我需要读取子组件中的路由参数值。我可以打印“Params”对象,但无法提取其中的数据。只是粘贴我的代码,以便提供更多详细信息:

客户详细信息组件:

 ngOnInit() {

        this.route.parent.params.subscribe((params: Params) => {
           console.log( params);
        console.log("Id value" + params['id']);

       if (1) {
    this._custServ.getCustomerDetailsById(1)
      .subscribe((customer: ICustomer) => {
        this.customer = customer;
       //s console.log(customer.id);

      });
  }
});
}


我正在访问的Url:


谷歌浏览器控制台:

我从一天开始就尝试获取参数值,但没有成功。你能给我介绍一下这个箱子吗

谢谢 普拉尚特


根据Sujeethan的指导更新了代码,但现在我收到的id是空值。下面是组件的完整代码。

无论您的控制台如何显示正确的值,只要您的if条件错误,您就应该分配该值并检查if条件

ngOnInit() {
    this.route.parent.params.subscribe((params: Params) => {
        console.log("Id value" + params['id']);
        let id = params["id"];
        if (id ==="1") {
            this._custServ.getCustomerDetailsById(1)
                .subscribe((customer: ICustomer) => {
                    this.customer = customer;
                });
        }
    });
}

嗨,Sajeetharan,我更新了代码,但现在收到空值。控制台上的消息:“Id value null”嗨,Sajeetharan,我使用了相同的代码,但仍然认为Id值未定义。有没有想过我是否遗漏了什么?我只是复制了你的代码并粘贴到VS编辑器中并检查了结果。。不幸的是,它仍然是未定义的值。对于您提供的最新图像,我仍然可以看到:(1)感谢Sanjeethan的帮助:)问题是路由文件中的一个打字错误:我在id后放置了一个空格,Sanjeethan与我进行了屏幕共享会话,并确定和修复如下。愚蠢的错误,但吸取了教训:{path:'customers/:id',component:NewCusomerComponentComponent,children:[{path:'details',component:CustomerDetailsComponent}]}