將查詢參數傳遞給Angular中的api

這里沒有問題。我有一個子組件,按下按鈕后,它將一個表單字段傳遞給父組件。我必須將此字段作為查詢參數傳遞給API GET /valuation/,該API GET /valuation/需要或多或少的20個可選參數,其中名稱與輸入字段不同。

我在父函數accept中創建了一個臨時對象res,我在其中迭代該字段。我仍然不知道如何在對象res內傳遞這個參數,使用多個if是臟代碼。

例如,父組件中的函數

    accept(form:any){
        const req: any = {};
        if(form.name)
          req.user = form.name
        if(form.address)
          req.clusterAddress = form.address
       ... and so on x 20 times

this.requestService.getRequest(req).subscribe(
      (response) => {
        this.getRequest(response);
      }, (error) => {
        console.error(error);
      }
      }

正如您所看到的,這不是一個可行的選項,我可以使用什么來獲取查詢參數名稱?

? 最佳回答:

您可以使用映射來存儲有關表單中的哪個屬性映射到res對象上的哪個屬性的信息,然后遍歷鍵,檢查是否存在值并分配:

const formToResMap: { [key: string]: string } = {
  name: 'name',
  address: 'clusterAddress',
  // ...
};

accept(form: any) {
  const req = Object.keys(formToResMap).reduce((acc, key) => {
    if (form[key]) {
      acc[formToResMap[key]] = form[key];
    }
    return acc;
  }, {});
  console.log(req);
}
主站蜘蛛池模板: 加勒比无码一区二区三区| 国产一区二区三区视频在线观看| 精品无人乱码一区二区三区| 手机看片福利一区二区三区 | 国产亚洲综合一区二区三区 | 国产一区二区在线观看麻豆| 一区二区三区中文| 国产精品美女一区二区三区| 中文字幕日韩精品一区二区三区 | 亚洲一区二区三区四区视频| 国产一区二区三区在线影院| 久久精品中文字幕一区| 波多野结衣一区二区三区88 | 日韩免费观看一区| 亚洲一区无码精品色| 一区二区免费国产在线观看| 波多野结衣中文字幕一区| 在线观看视频一区二区| 国产成人一区二区精品非洲| 最新中文字幕一区| 在线观看国产一区二区三区| 美女AV一区二区三区| 女人和拘做受全程看视频日本综合a一区二区视频 | 亚洲精品精华液一区二区| 亚洲一区二区三区久久久久| 99久久精品国产一区二区成人| 久久久精品一区二区三区| 亚洲av午夜福利精品一区人妖| 亚洲AV美女一区二区三区| 日韩人妻不卡一区二区三区| 亚洲一区二区三区国产精品无码| 亚洲综合无码一区二区痴汉| 中文字幕一区日韩精品| 国产萌白酱在线一区二区| aⅴ一区二区三区无卡无码| 国产伦一区二区三区高清| 久久久久人妻精品一区三寸蜜桃| 一本AV高清一区二区三区| 一区二区在线视频| 蜜臀Av午夜一区二区三区| 精品乱码一区二区三区四区|