Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 动态选择,不重复角度中的值_Angular_Typescript - Fatal编程技术网

Angular 动态选择,不重复角度中的值

Angular 动态选择,不重复角度中的值,angular,typescript,Angular,Typescript,我根据从数据库获取的对象中包含的值创建了一个动态选择。当我在对象中循环时,如何避免重复值 这是html <router-outlet></router-outlet> <hr> <div class="row"> <div class="col-xs-12"> <form [formGroup]="catSelection"> <select formControlName="transacti

我根据从数据库获取的对象中包含的值创建了一个动态选择。当我在对象中循环时,如何避免重复值

这是html

<router-outlet></router-outlet>
<hr>
<div class="row">
  <div class="col-xs-12">
    <form [formGroup]="catSelection">
      <select formControlName="transactionControl">
    <option [ngValue]="transaction" *ngFor="let transaction of transactions">{{transaction.category}}</option>
    </select>
    </form>
  </div>
</div>

Stackblitz:

名为
Set
的数据结构将帮助您获得唯一值:

//transactions.component.ts
此.DfsService.fetchData().subscribe(
职位=>{
//这里我们创建一组类别
//此.transactionCategories将只包含唯一的值
this.transactionCategories=新集合(posts.map(p=>p.category));
}
)

谢谢!我不知道这种数据类型。您可能只需要使用
字符串
数组而不是
集合
export class TransactionsComponent implements OnInit {
  transactions: Transaction[]
  catSelection: FormGroup;

  constructor(private dfService: DataFetchingService) { }

  ngOnInit() {
    this.catSelection = new FormGroup({
      'transactionControl': new FormControl(null)})
    this.loadPosts()
  }

  loadPosts() {
    this.dfService.fetchData().subscribe(
      posts=>{
        this.transactions=posts; 
        console.log(this.transactions)
      }
    )
  }
}