[ANGULAR] Angular2의 인터페이스로 클래스를 내보내십시오
ANGULARAngular2의 인터페이스로 클래스를 내보내십시오
해결법
-
1.인터페이스 및 공급자 토큰으로 모두 사용되기 위해서는 추상 클래스 일 수 있습니다. 이것은 앵글 코드 기반 자체에서 수행되는 방법입니다.
인터페이스 및 공급자 토큰으로 모두 사용되기 위해서는 추상 클래스 일 수 있습니다. 이것은 앵글 코드 기반 자체에서 수행되는 방법입니다.
구체적인 클래스가 추상 클래스에서 상속받을 것이 많은 경우, 후자는 확장 가능할 수 있습니다.
export abstract class Foo { abstract bar(); baz() { ... } } export class ConcreteFoo extends Foo { bar() { ... } } ... provider: [{ provide: Foo, useClass: ConcreteFoo }] ...
그렇지 않으면 추상적 인 클래스가 비 - 확장 가능하고 비 인스턴트 가정을 만드는 것이 더 안전합니다.
export abstract class Foo { private constructor() { throw new Error('should not be instantiated directly'); } abstract bar(); } export class ConcreteFoo implements Foo { bar() { ... } }
Typescript의 인터페이스로 모든 클래스를 사용할 수 있음을 알아야합니다. 그래서 인터페이스와 구현을 구별 할 필요가없는 진정한 필요가없는 경우 하나의 구체적인 수업 일 수 있습니다.
export class Foo { bar() { ... } baz() { ... } } ... provider: [Foo] ...
필요한 경우 나중에 인터페이스로 사용될 수 있습니다.
export class SomeFoo implements Foo { ... } ... provider: [{ provide: Foo, useClass: SomeFoo }] ...
from https://stackoverflow.com/questions/43572149/export-class-as-interface-in-angular2 by cc-by-sa and MIT license
'ANGULAR' 카테고리의 다른 글
[ANGULAR] Angular 2에서 2 개의 종속 HTTP 요청을 만드는 방법 (0) | 2020.11.27 |
---|---|
[ANGULAR] Typescript 유형이란 무엇입니까? (0) | 2020.11.27 |
[ANGULAR] Angular 2 (Azure-AD) 내부의 웹 팩에서 Adal.js를로드하는 방법 (0) | 2020.11.27 |
[ANGULAR] Angular2의 행동, 작동 방식 및 사용 방법 (0) | 2020.11.27 |
[ANGULAR] ANGLUR 2 렌더링 후 jQuery 호출 - API를 소비 한 후 (0) | 2020.11.27 |