Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将ID(索引)传递给onEditDetail()参数_Javascript_Angular_Parameters_Ngoninit - Fatal编程技术网

Javascript 将ID(索引)传递给onEditDetail()参数

Javascript 将ID(索引)传递给onEditDetail()参数,javascript,angular,parameters,ngoninit,Javascript,Angular,Parameters,Ngoninit,如何将值索引或id传递给EditDetail()参数。我希望在html中单击onEditDetail()后,将其放在onEditDetail()的括号内 user-detail.component.html {{user.l_name}的完整信息 名字 姓 联系电话 行动 {{user.f_name} {{user.l_name} {{user.contact_no} 编辑 你可以这样做 ngOnInit() { this.route.params .subscribe((para

如何将值索引或id传递给EditDetail()参数。我希望在html中单击onEditDetail()后,将其放在onEditDetail()的括号内

user-detail.component.html


{{user.l_name}的完整信息
名字
姓
联系电话
行动
{{user.f_name}
{{user.l_name}
{{user.contact_no}
编辑
你可以这样做

ngOnInit() {
  this.route.params
    .subscribe((params: Params) => {
      this.id = +params['id'];
      this.user = this.userService.getUser(this.id);

      // Your method call
      this.onEditDetail(this.id);
    });
}

onEditDetail(id: string) {
  console.log(id);
}

除了其他答案之外

您需要了解您正在进行异步调用。

所以,如果您需要在其他任何地方访问id,则需要在异步调用完成时获取id,而不是在此之前

这就是为什么,您需要在Subscribe块中调用onEditDetail()作为最后一个参数。 有3个参数要订阅

  • 通过调用返回的数据
  • 如果发生任何错误,则返回错误
  • 如果你想做某事,请点击完成
  • 在您的例子中,作为第三个参数,您必须调用onEditDetail方法

    ngOnInit() {
      this.route.params
        .subscribe((params: Params) => {
          this.id = +params['id'];
          this.user = this.userService.getUser(this.id);
    
          // 3rd parameter, this is where call is subscribe is completed
          this.onEditDetail(this.id);
        });
    }
    

    它表示number类型的参数不能分配给string类型的参数。也希望它是一个数字。Thanks@Joseph将您的onEditDetail(id:string)更改为onEditDetail(id:any),您知道为什么会有“+”登录+参数吗?目的是什么?@Joseph(+)将字符串“id”转换为一个数字anks很多。顺便说一下,我在上面添加了一个html。一旦我点击编辑按钮,它应该得到id(索引),这样我就可以通过访问id来编辑项目。我的代码正确吗?它说类型number的参数不能分配给类型string的参数。也希望它是一个数字。谢谢
    ngOnInit() {
      this.route.params
        .subscribe((params: Params) => {
          this.id = +params['id'];
          this.user = this.userService.getUser(this.id);
    
          // Your method call
          this.onEditDetail(this.id);
        });
    }
    
    onEditDetail(id: string) {
      console.log(id);
    }
    
    ngOnInit() {
      this.route.params
        .subscribe((params: Params) => {
          this.id = +params['id'];
          this.onEditDetail(this.id); //call onEditDetails and pass id to it.
          this.user = this.userService.getUser(this.id);
        });
    }
    
    onEditDetail(id: any) {
      console.log(id);
    }
    
    ngOnInit() {
      this.route.params
        .subscribe((params: Params) => {
          this.id = +params['id'];
          this.user = this.userService.getUser(this.id);
    
          // 3rd parameter, this is where call is subscribe is completed
          this.onEditDetail(this.id);
        });
    }