2017-12-12 9 views
1

에서 데이터 속성을 얻기 위해 어떻게 MatSnackBarConfig 객체가 데이터 하위 구성 요소에 주입되는는 MatSnackBarConfig

나타내는 data 속성이 수는 documentation에서 읽었습니다.

따라서 나는 openFromComponent 메서드를 통해 열리는 사용자 지정 스낵 바 안에있는 데이터를 사용할 수 있다고 생각합니다. 그 질문은 내가 할 수 있는가? 그렇다면 어떻게 할 수 있습니까?

an example이 설명서에 나와 데,의 내가 다음에 openSnackBar 방법을 수정 가정 해 봅시다 :

openSnackBar() { 
    this.snackBar.openFromComponent(PizzaPartyComponent, { 
    duration: 500, data: {message: 'Hello World!'} 
    }); 
} 

이제

응용 프로그램/스낵 바-구성 요소 example.ts, 방법은 수 PizzaPartyComponent 안에 data 개체가 있습니까? 구성 요소의 생성자에 삽입하려고했지만 해결할 수 없습니다.

//below code results in error 

export class PizzaPartyComponent { 
    constructor(private data: any) { 
    console.log(data); 
    } 
} 

답변

2

자료의 github page에 대한 해결책을 찾았습니다.

잘못된 방식으로 데이터를 주입 한 것으로 나타났습니다. 적절한 것이었다 :

import {MAT_SNACK_BAR_DATA} from '@angular/material'; 

// @Component decorator omitted 
export class PizzaPartyComponent { 
    constructor(@Inject(MAT_SNACK_BAR_DATA) public data: any) { } 
}