メンバーに関する情報を含むサービスがあります。変数の1つはチーム文字列です。サービスからユニークな配列を取得する
私のコンポーネントでは、サービスメソッドを呼び出して、コンポーネントに情報を表示する前に情報を変数に格納します。
サービス内のチームの一意のリストを使用して、コンポーネント内の変数「チーム」を入力したいと思います。これは書込みを考慮する必要があります(toUpperCase()を使用します)。
マイサービス:
import { Injectable } from '@angular/core';
@Injectable()
export class UserinfoService
{
//methods or services
getMembers()
{
return [
{
imageUrl: "../assets/images/filler.jpg",
firstName: "filler",
lastName: "filler",
team: "TEAM A",
number: "+123456798",
bio: "Lorem ipsum dolor sit amet,...",
isActive: true
},
{
imageUrl: "../assets/images/filler.jpg",
firstName: "filler",
lastName: "filler",
team: "TEam A",
number: "+123456798",
bio: "Lorem ipsum dolor sit amet,...",
isActive: false
},
{
imageUrl: "../assets/images/filler.jpg",
firstName: "filler",
lastName: "filler",
team: "TEAM B",
number: "+123456798",
bio: "Lorem ipsum dolor sit amet,...",
isActive: true
},
];
}
//constructor
constructor()
{
}
}
私のコンポーネント:ES6で
import { Component, OnInit } from '@angular/core';
import { UserinfoService } from '../services/userinfo.service';
@Component({
selector: 'app-teammembers',
templateUrl: './teammembers.component.html',
styleUrls: ['./teammembers.component.css']
})
export class TeammembersComponent implements OnInit
{
//props
teammembers: any[];
teams:any[];
constructor(userinfoService: UserinfoService)
{
//getData
this.teammembers = userinfoService.getMembers();
}
ngOnInit() {
}
}
'this.teams = UNIQ(=> member.team this.teammembers.map(メンバー))'。 'uniq'を自分で書くことも、ライブラリを使うこともできます。 –
'[...新しいセット(this.teammembers.map(m => m.team))] ' – Weedoze