각도 2 파이프-JSON 키로 필터링

미하 슈 스테 르시 치

JSON객체 배열을 필터링하는 파이프를 작성하려고 합니다. 모든 객체에는 부울 ( demo,) github3 개의 키가 있으며 , 이 키를 finished필터에 입력하고 키가 참인 객체 만 표시하고 싶습니다. 여러 값을 입력 할 필요가 없으며 단일 문자열 (키)이면 충분합니다.

지금까지 필터에 입력 한 내용에 상관없이 페이지에 데이터가 표시되지 않습니다. 필터를 완전히 제거하면 서비스에 모든 것이 정의됩니다. 기록 된 오류 메시지도 없습니다.

그래서 페이지를 제공하는 서비스가 있습니다.

import { Injectable } from 'angular2/core';

export class Page {
    constructor(public img: string, public name: string, public repo: string, public description: string, public demo: boolean, public github: boolean, public finished: boolean) { }
}

@Injectable()
export class PagesService {
    getPages() {
        return [
            new Page('./app/images/placeholder.png', 'veryNiceWords', 'https://github.com/Shooshte/veryNiceWords', 'A hobby app, made to enable posting, rating and sharing quotes over social networks. Work in progress.', false, true, false),
            new Page('./app/images/placeholder.png', 'ZIC IJS', 'https://github.com/Shooshte/ZIC', 'Refurbishing of on old library webpage with AngularJS.', false, true, false),
            new Page('./app/images/weather.png', 'Show the Local weather', 'http://codepen.io/shooshte/pen/NxOwOX', 'A freeCodeCamp exercise, designed to show the local weather.', true, false, true),
            new Page('./app/images/calculator.png', 'Calculator', 'http://codepen.io/shooshte/pen/qbjJdy', 'A freeCodeCamp exercise, which requires you to build a javascript calculator.', true, false, true),
            new Page('./app/images/github.png', 'MTGO Draft Replayer', 'https://github.com/Shooshte/MTGO-Draft-Replayer', 'A simple web app that opens a MTGO draft log file, and re-creates the draft from it.', false, true, false),
            new Page('./app/images/codeeval.png', 'codeEval', 'https://github.com/Shooshte/CodeEval', 'CodeEval challenges solutions written in javascript and posted to gitHub.', false, true, true)
        ];
    }
}

여기에서 OnInit 서비스를 호출하고 파이프를 정의합니다.

import { Component } from 'angular2/core';
import { ViewEncapsulation } from 'angular2/core';
import { Page, PagesService } from './pages.service';
import { Pipe, PipeTransform } from 'angular2/core';

@Pipe({ name: 'pagesFilter' })
export class pagesFilter {
    transform(pages, [key]) {
        return pages.filter(page => {
            return page.key === true;
        });
    }
}

@Component({
    selector: 'portfolio',
    templateUrl: '/app/views/portfolio.html',
    styleUrls: ['../app/styles/PortfolioMobile.css', '../app/styles/PortfolioOther.css'],
    pipes: [pagesFilter],
    encapsulation: ViewEncapsulation.None
})

export class PortfolioComponent {
    filter = 'everything';
    pages: Page[];

    constructor(private _pagesService: PagesService) { }

    ngOnInit() {
        this.pages = this._pagesService.getPages();
    }
}

이것은 내 HTML에서 파이프를 사용하는 방법입니다.

<div class="portfolioContainer">
    <div class="displayHack"></div>
    <div *ngFor="#p of pages | pagesFilter:demo" class="portfolioPageContainer">
        <img [attr.src]="p.img" class="portfolioThumbnail">
        <h2>{{ p.name }}</h2>
        <a [attr.href]="p.repo">
            <div>
                <p>{{ p.description }}</p>
            </div>
            <p class="portfolioRepoLink">See the Code!</p>
        </a>
    </div>
    <div class="displayHack"></div>
</div>
티에리 기사단

대신 이것을 시도 할 수 있습니다.

@Pipe({ name: 'pagesFilter' })
export class pagesFilter {
    transform(pages, [key]) {
        return pages.filter(page => {
            return page[key] === true; // <------
        });
    }
}

귀하의 경우에는 키 매개 변수의 내용에 해당하는 이름이 아닌 "key"라는 이름으로 속성에 액세스하려고합니다.

또한 "demo"값을 사용하려면 ( "demo"표현식을 평가하지 않음) 다음을 사용해야합니다.

    <div *ngFor="#p of pages | pagesFilter:'demo'" 
        class="portfolioPageContainer">

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

드롭 다운으로 각도를 사용하여 json 데이터 필터링

분류에서Dev

그룹화 된 배열을 필터링하기위한 각도 2 파이프

분류에서Dev

각도 2로 검색 파이프를 만들 때 자바 스크립트 객체를 어떻게 필터링합니까?

분류에서Dev

angular2-파이프-여러 json 값 필터링

분류에서Dev

필터링 된 JSON의 Angular 2 파이프

분류에서Dev

타임 스탬프 연도별로 json 필터링

분류에서Dev

PHP로 JSON 데이터 필터링

분류에서Dev

루프를 위해 아파치 속도로 데이터 필터링

분류에서Dev

배열 매개 변수로 필터링 된 각도로 중첩 된 JSON 배열 데이터에 액세스하는 방법은 무엇입니까?

분류에서Dev

.json 파일에서 각도로 데이터 가져 오기

분류에서Dev

구성 요소 변수가있는 각도 2 파이프 / 필터

분류에서Dev

입력 상자를 사용하여 각도 2 테이블 필터링

분류에서Dev

각도로 개체 필터링

분류에서Dev

각도 2 파이프에서 데이터 가져 오기

분류에서Dev

배열의 모든 콘텐츠에 대한 파이프를 JSON 형식으로 찾아 필터링합니다. Angular 2

분류에서Dev

각도 js의 문자가있는 알파벳 단어를 기준으로 데이터 필터링

분류에서Dev

드롭 다운을 기반으로 테이블 열 각도 js 필터링

분류에서Dev

각도 2 PrimeNG + 스프링 부트 파일 업로드 오류 400

분류에서Dev

빈도로 Pandas 데이터 프레임 필터링

분류에서Dev

각도 7의 키로 조건 확인을 기반으로 json 응답에서 배열을 필터링하는 방법

분류에서Dev

각도 필터로 Rails 출력 필터링

분류에서Dev

JSON 파일의 값을 각도 2+의 키 / 값으로 읽을 수있는 텍스트로 이름을 바꾸고 싶습니다.

분류에서Dev

여러 확인란으로 필터링하기위한 사용자 지정 파이프를 만드는 방법은 무엇입니까? 각도 4

분류에서Dev

Flutter는 json 데이터를 고유 데이터로 필터링

분류에서Dev

Python Pandas : 각 데이터 종류에 대한 규칙으로 데이터 필터링 속도 향상

분류에서Dev

직사각형 배열에서 가로 세로 비율이 2 : 1 인 직사각형 필터링

분류에서Dev

각도 필터링

분류에서Dev

백엔드의 JSON 데이터를 각도 2로 표시 할 수 없습니다.

분류에서Dev

키워드 및 드롭 다운이있는 특정 열로 필터링 시도

Related 관련 기사

  1. 1

    드롭 다운으로 각도를 사용하여 json 데이터 필터링

  2. 2

    그룹화 된 배열을 필터링하기위한 각도 2 파이프

  3. 3

    각도 2로 검색 파이프를 만들 때 자바 스크립트 객체를 어떻게 필터링합니까?

  4. 4

    angular2-파이프-여러 json 값 필터링

  5. 5

    필터링 된 JSON의 Angular 2 파이프

  6. 6

    타임 스탬프 연도별로 json 필터링

  7. 7

    PHP로 JSON 데이터 필터링

  8. 8

    루프를 위해 아파치 속도로 데이터 필터링

  9. 9

    배열 매개 변수로 필터링 된 각도로 중첩 된 JSON 배열 데이터에 액세스하는 방법은 무엇입니까?

  10. 10

    .json 파일에서 각도로 데이터 가져 오기

  11. 11

    구성 요소 변수가있는 각도 2 파이프 / 필터

  12. 12

    입력 상자를 사용하여 각도 2 테이블 필터링

  13. 13

    각도로 개체 필터링

  14. 14

    각도 2 파이프에서 데이터 가져 오기

  15. 15

    배열의 모든 콘텐츠에 대한 파이프를 JSON 형식으로 찾아 필터링합니다. Angular 2

  16. 16

    각도 js의 문자가있는 알파벳 단어를 기준으로 데이터 필터링

  17. 17

    드롭 다운을 기반으로 테이블 열 각도 js 필터링

  18. 18

    각도 2 PrimeNG + 스프링 부트 파일 업로드 오류 400

  19. 19

    빈도로 Pandas 데이터 프레임 필터링

  20. 20

    각도 7의 키로 조건 확인을 기반으로 json 응답에서 배열을 필터링하는 방법

  21. 21

    각도 필터로 Rails 출력 필터링

  22. 22

    JSON 파일의 값을 각도 2+의 키 / 값으로 읽을 수있는 텍스트로 이름을 바꾸고 싶습니다.

  23. 23

    여러 확인란으로 필터링하기위한 사용자 지정 파이프를 만드는 방법은 무엇입니까? 각도 4

  24. 24

    Flutter는 json 데이터를 고유 데이터로 필터링

  25. 25

    Python Pandas : 각 데이터 종류에 대한 규칙으로 데이터 필터링 속도 향상

  26. 26

    직사각형 배열에서 가로 세로 비율이 2 : 1 인 직사각형 필터링

  27. 27

    각도 필터링

  28. 28

    백엔드의 JSON 데이터를 각도 2로 표시 할 수 없습니다.

  29. 29

    키워드 및 드롭 다운이있는 특정 열로 필터링 시도

뜨겁다태그

보관