簡體   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