繁体   English   中英

Angular 当从 Constructor 调用 httpClient 时组件构造函数加载两次

[英]Angular Component constructor loads twice when httpClient is called from Constructor

Angular 当从同一个构造函数调用 httpClient 函数时,构造函数加载两次。

       export class ViewOrderDetailsComponent {
            constructor(
                   private activatedRoute: ActivatedRoute,
                   private router: Router,
                   private httpClient:HttpClient) {
        console.log("_______________constructor____________");   
    this.httpClient.get("https://jsonplaceholder.typicode.com/todos/1",{headers: null, params:null}).subscribe();
   //constructor loads once if above line is commented.
           
                }
        }

不建议从构造函数调用 api 吗?

没有办法在不先销毁组件的情况下加载两次组件的构造函数,所以我认为您的应用程序中还有另一部分代码负责加载您的组件两次,无论如何我也尝试了您的代码并进行了一些修改,因为标头和参数不能是 null它可以正常工作,没有你提到的问题

this.httpClient.get("https://jsonplaceholder.typicode.com/todos",{headers:new HttpHeaders,params:{id:5,completed:false}}).subscribe(data=>{
  console.log(data);
});

关于你的问题,是的,在组件的构造函数中调用 api 是一种不好的做法,它更喜欢从服务中调用它。我希望这能以某种方式帮助你

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM