이벤트 버스 구현을 사용하여 주제를 구독 할 때 정의되지 않은 값

Mengmeng

내가 만든 EventBusServiceEventData

export class EventData {
    public eventName: string;
    public event: any;

    constructor(eventName: string, event: any) {
        this.eventName = eventName;
        this.event = event;
    }
}


@Injectable({providedIn: 'root'})
export class EventBusService {
    private subject = new Subject();

    public emit(event: EventData) {
        this.subject.next(event);
    }

    public on(eventName: string, action: any): Subscription {
        return this.subject.pipe(
            filter( (e: EventData) => e.eventName === eventName),
            map( (e: EventData) => e['value'])).subscribe(action);

    }
}

이것이 내가 이벤트를 내 보낸 방법입니다.

this.eventBusService.emit(new EventData('SelectDefaultList', list));

값이 방출되었지만 undefined구독 / 청취 할 때 항상 값을 얻습니다 .EventBusService

ngOnInit() {
    this.eventBusService.on('SelectDefaultList', (list: List) => {
        console.log('hello' + list);
    });
}

두 구성 요소는 EventBusService공급자로 선언 한 하나의 모듈 아래에 있습니다.

감사합니다 ~

줄리어스 지제 비치 우스

경우 EVENTDATA가 더없는 value속성을, 그래서 여기에 정의되지 않은 반환 - (e: EventData) => e['value']).

또한 public생성자 속성 으로 이동 하여 클래스를 단순화 할 수 있습니다.

export class EventData {
  constructor(public eventName: string, public event: any) {}
}

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Face API를 사용할 때 유효하지 않은 구독 키

분류에서Dev

평면 버튼을 사용하여 하단 팝업 시트를 표시하려고 할 때마다 '누락 된 정적 대상의 구현되지 않은 처리'오류

분류에서Dev

새 구독이 생성 될 때 scan accumulator 값이 재설정되지만 shareReplay (1)를 사용할 때는 왜 재설정되지 않습니까?

분류에서Dev

독립형 도구 모음을 사용하여 Android 용 squid를 빌드 할 때 정의되지 않은 참조 오류

분류에서Dev

나머지 API를 사용하여 파일을 복사 할 때 설정되지 않은 열의 기본값 (SharePoint 2013 독립 실행 형)

분류에서Dev

단축 코드를 사용하여 제품을 추가 할 때 Woocommerce 변형 구독이 바구니에 표시되지 않음

분류에서Dev

슬라이더가 값을 변경할 때 트리거되지만 마우스 버튼이 아직 해제되지 않은 이벤트

분류에서Dev

기본 양식의 사용자 정의 컨트롤에서 이벤트를 구독 할 때 NullReferenceException 발생

분류에서Dev

클래스 구현을 컴파일하려고 할 때 "winmain"에 대한 정의되지 않은 참조

분류에서Dev

추상 클래스를 구현하려고 할 때 정의되지 않은 참조 오류

분류에서Dev

내 서버에서 DST를 자동으로 사용할 때 cron을 사용하여 DST를 인식하지 않는 응용 프로그램에서 일광 절약을 구현하는 스크립트를 예약하려면 어떻게해야합니까?

분류에서Dev

UISegementedControl의 하위 클래스를 인스턴스화 할 때 클래스에 구현되지 않은 이니셜 라이저 'init (frame :)'사용

분류에서Dev

뉴스 레터에 구독 취소 링크 구현, Amazon SES를 사용하여 이메일을 보낼 때 내부 기능은 무엇입니까?

분류에서Dev

뉴스 레터에 구독 취소 링크 구현, Amazon SES를 사용하여 이메일을 보낼 때 내부 기능은 무엇입니까?

분류에서Dev

C ++에서 사용자 정의 구조체를 맵 인덱스로 사용할 때 "이진 표현식에 대한 유효하지 않은 피연산자"

분류에서Dev

C ++에서 사용자 정의 구조체를 맵 인덱스로 사용할 때 "이진 표현식에 대한 유효하지 않은 피연산자"

분류에서Dev

thrust :: for_each () 호출을 사용하여 CUDA 스트림을 구현할 때 구조의 결과에 액세스

분류에서Dev

IsolationLevel.ReadUncommitted in (unrelated?) Transaction을 사용할 때 SqlDependency 구독이 작동하지 않음

분류에서Dev

이벤트 리스너를 사용하여 아직 마운트되지 않은 구성 요소에서 setState를 호출 할 수 없습니다.

분류에서Dev

React : axios를 사용하여 자식 구성 요소에 API 데이터를 전달할 때 정의되지 않는 문제를 어떻게 수정합니까?

분류에서Dev

react 및 typescript를 사용하여 정의되지 않은 값을 구체적으로 확인하지 않을 때 조건이 false로 평가되지 않는 이유는 무엇입니까?

분류에서Dev

람다에 대한 AWS SNS 구독은 Java API를 사용하여 이벤트 소스를 자동으로 생성하지 않습니다.

분류에서Dev

findall ()이 일치하지 않을 때 ElementTree를 사용하여 XML을 구문 분석하는 기본값 제공

분류에서Dev

dlopen을 사용하여 동적 라이브러리를로드 할 때 정의되지 않은 기호 발생

분류에서Dev

Comparator를 사용하여 ArrayList를 정렬 할 때 값이 인쇄되지 않음

분류에서Dev

기본 구성 요소 클래스에서 상태를 사용할 때 반응에서 정의되지 않은

분류에서Dev

폴더 구조를 사용할 때 C ++ 정의되지 않은 기호

분류에서Dev

"웹 디버그 도구 모음을로드하는 동안 오류가 발생했습니다."라는 메시지가 나타나는 이유는 무엇입니까? 이 이벤트 구독자를 사용할 때?

분류에서Dev

몽구스 "findByIdAndRemove"메소드를 사용하려고 할 때 내 EJS 변수가 "정의되지 않음"을 반환하는 이유

Related 관련 기사

  1. 1

    Face API를 사용할 때 유효하지 않은 구독 키

  2. 2

    평면 버튼을 사용하여 하단 팝업 시트를 표시하려고 할 때마다 '누락 된 정적 대상의 구현되지 않은 처리'오류

  3. 3

    새 구독이 생성 될 때 scan accumulator 값이 재설정되지만 shareReplay (1)를 사용할 때는 왜 재설정되지 않습니까?

  4. 4

    독립형 도구 모음을 사용하여 Android 용 squid를 빌드 할 때 정의되지 않은 참조 오류

  5. 5

    나머지 API를 사용하여 파일을 복사 할 때 설정되지 않은 열의 기본값 (SharePoint 2013 독립 실행 형)

  6. 6

    단축 코드를 사용하여 제품을 추가 할 때 Woocommerce 변형 구독이 바구니에 표시되지 않음

  7. 7

    슬라이더가 값을 변경할 때 트리거되지만 마우스 버튼이 아직 해제되지 않은 이벤트

  8. 8

    기본 양식의 사용자 정의 컨트롤에서 이벤트를 구독 할 때 NullReferenceException 발생

  9. 9

    클래스 구현을 컴파일하려고 할 때 "winmain"에 대한 정의되지 않은 참조

  10. 10

    추상 클래스를 구현하려고 할 때 정의되지 않은 참조 오류

  11. 11

    내 서버에서 DST를 자동으로 사용할 때 cron을 사용하여 DST를 인식하지 않는 응용 프로그램에서 일광 절약을 구현하는 스크립트를 예약하려면 어떻게해야합니까?

  12. 12

    UISegementedControl의 하위 클래스를 인스턴스화 할 때 클래스에 구현되지 않은 이니셜 라이저 'init (frame :)'사용

  13. 13

    뉴스 레터에 구독 취소 링크 구현, Amazon SES를 사용하여 이메일을 보낼 때 내부 기능은 무엇입니까?

  14. 14

    뉴스 레터에 구독 취소 링크 구현, Amazon SES를 사용하여 이메일을 보낼 때 내부 기능은 무엇입니까?

  15. 15

    C ++에서 사용자 정의 구조체를 맵 인덱스로 사용할 때 "이진 표현식에 대한 유효하지 않은 피연산자"

  16. 16

    C ++에서 사용자 정의 구조체를 맵 인덱스로 사용할 때 "이진 표현식에 대한 유효하지 않은 피연산자"

  17. 17

    thrust :: for_each () 호출을 사용하여 CUDA 스트림을 구현할 때 구조의 결과에 액세스

  18. 18

    IsolationLevel.ReadUncommitted in (unrelated?) Transaction을 사용할 때 SqlDependency 구독이 작동하지 않음

  19. 19

    이벤트 리스너를 사용하여 아직 마운트되지 않은 구성 요소에서 setState를 호출 할 수 없습니다.

  20. 20

    React : axios를 사용하여 자식 구성 요소에 API 데이터를 전달할 때 정의되지 않는 문제를 어떻게 수정합니까?

  21. 21

    react 및 typescript를 사용하여 정의되지 않은 값을 구체적으로 확인하지 않을 때 조건이 false로 평가되지 않는 이유는 무엇입니까?

  22. 22

    람다에 대한 AWS SNS 구독은 Java API를 사용하여 이벤트 소스를 자동으로 생성하지 않습니다.

  23. 23

    findall ()이 일치하지 않을 때 ElementTree를 사용하여 XML을 구문 분석하는 기본값 제공

  24. 24

    dlopen을 사용하여 동적 라이브러리를로드 할 때 정의되지 않은 기호 발생

  25. 25

    Comparator를 사용하여 ArrayList를 정렬 할 때 값이 인쇄되지 않음

  26. 26

    기본 구성 요소 클래스에서 상태를 사용할 때 반응에서 정의되지 않은

  27. 27

    폴더 구조를 사용할 때 C ++ 정의되지 않은 기호

  28. 28

    "웹 디버그 도구 모음을로드하는 동안 오류가 발생했습니다."라는 메시지가 나타나는 이유는 무엇입니까? 이 이벤트 구독자를 사용할 때?

  29. 29

    몽구스 "findByIdAndRemove"메소드를 사용하려고 할 때 내 EJS 변수가 "정의되지 않음"을 반환하는 이유

뜨겁다태그

보관