0
내 파이프를 통해 내 구성 요소의 속성에 액세스하는 데 문제가 있습니다. 를 heresAnuglar2 파이프 - 구성 요소의 속성을 사용하여 필터링
내 파이프 :
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'unitEquipment'
})
export class UnitEquipmentPipe implements PipeTransform {
transform(value: any, args?: any): any {
if (value == null) {
return null;
}
let resultArray = [];
for (let item of value) {
if(item.equip_type === "dagger" && args[0].dagger == true){
resultArray.push(item);
}
if(item.equip_type === "katana" && args[0].katana == true){
resultArray.push(item);
}
}
return resultArray;
}
}
을 Heres 내가 내 필터를 사용할 때 나는 HTML에 액세스하려고 해요 내 구성 요소에서 개체 : Heres는 배열 내가
unit = {
"dagger": true,
"sword": false,
"great_sword": false,
"katana": true
};
을 시도하고를
rhandequip = [
{
"name": "Hidden Truth",
"equip_name": "hidden-truth",
"equip_type": "great_sword"
},
{
"name": "Mursama",
"equip_name": "mursama",
"equip_type": "katana"
},
{
"name": "Battle Dagger",
"equip_name": "battle-dagger",
"equip_type": "dagger"
},
{
"name": "Boomer",
"equip_name": "boomer",
"equip_type": "sword"
},
{
"name": "Broadsword",
"equip_name": "broadsword",
"equip_type": "sword"
},
{
"name": "Bronze Knife",
"equip_name": "bronze-knife",
"equip_type": "dagger"
}
]
그리고 마지막으로 HTML : 또한 내 구성 요소의 내부 필터링하는
을<select class="form-control" [(ngModel)]="rHandSelect" name="emptyRightHand" #righthand (input)="getRHand(righthand.value)">
<option value="Empty">Empty</option>
<option *ngFor="let rhand of rhandequip | unitEquipment: 'unit'" value="{{rhand.equip_name}}">{{rhand.name}} ▶ {{rhand.info}}</option>
</select>
기본적으로 유닛을 선택할 때 유닛이 true로 나열된 equip_type을 사용하여 배열의 모든 객체를 반환하려고합니다. 내 과 && args[0].katana == true
은 작동하지 않는 것 같습니다. 내가 뭘 잘못하고 있는지 알 수 없다. 나는 'unit'
을 따옴표와 함께 사용해 보았습니다. 운이 없었습니다.
감사합니다. 내 앱이 지금 작동합니다. :) – Sal