angular * ng使用param打印值

时间:2018-05-22 06:36:58

标签: angular ngfor

我试图用params运行* ngFor。

我想通过param输出消息,例如{{data.lang}}

感谢。

我的代码如下:

- = app.component.html = -

{{lang}}
<div>
  <ul>
    <li *ngFor = "let data of datas">{{data.en}}</li>
  </ul>
</div>

- = app.component.ts = -

import { Component } from '@angular/core';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  title = 'app';
  lang: string = 'en';
  datas: any = [
    {
      "ru": "время деньги.",
      "en": "time is money",
      "fr": null,
      "it": "il tempo è denaro",
      "de": "Zeit Geld",
      "es": "el tiempo es dinero",
      "pt": "tempo é dinheiro",
      "pl": "czas i pieniądze"
    }
  ]
}

3 个答案:

答案 0 :(得分:3)

你可以尝试这样......

    val(dat){
   return getData[this.lang]
    }
  {{lang}}
<div>
  <ul>
    <li *ngFor = "let data of datas">{{getData(data)}}</li>
  </ul>
</div>

答案 1 :(得分:2)

在您的代码中,您尝试将* ngFor与仅包含一个元素的数组一起使用。关键也是错误的,因为数据没有&#34; en&#34;元件。这就是您的输出为空的原因。

如果要显示对象中每个键值的信息,可以使用Angular Pipes。你也可以看到这个SO answer

答案 2 :(得分:1)

在这种情况下,您可以使用不同的表示法:

<li *ngFor = "let data of datas">{{data[lang]}}</li>