代码之家  ›  专栏  ›  技术社区  ›  CHARAFI Saad

角度5:translate.get和字符串数组返回键和值,而不仅仅是值

  •  0
  • CHARAFI Saad  · 技术社区  · 6 年前

    我使用Angular5,我的部分代码使用ngx translate管理机制国际化。

    我将解释我的问题的场景,因此我有一个数据表,可以从web服务中检索数据并完美地显示它们。我有一个按钮,可以使用Angular5csv机制将数据导出到csv文件。我有下面的函数,它给了我必须放在csv文件上面的头,这取决于选择的语言

      getHeader(){
    this.translateService.get(['app.lblInvSupNum','app.lblInvTANum',
                               'app.lblDateInv'  ,'app.lblDueDate',
                               'app.lblAmount'  ,'app.lblCurrency',
                               'app.lblStatut'  ,'app.lblBlockCode',                              
                              ])
                          .subscribe((res: any[]) =>{
                            this.header=res; // declaration header: any[];
                            console.log(this.header);
    
                          })    
    

    }

    当我在控制台中显示结果时,如下所示

    {app.lblInvSupNum: "Supplier Invoice Number", app.lblInvTANum: "Invoice Number", app.lblDateInv: "Invoice date", app.lblDueDate: "Due Date", app.lblAmount: "Amount", …}
    

    我要找的是一个字符串数组传给angular5csv。 像那样的东西

    ['Supplier Invoice Number','Invoice Number','Invoice Date','Due Date','Amount','Currency','Status','Blockage Code']
    

    谢谢大家。

    1 回复  |  直到 6 年前
        1
  •  2
  •   user184994    6 年前

    你可以使用 Object.keys 功能与 .map ,就像这样:

    let result = Object.keys(this.headers).map((key) => this.headers[key])