저는 Angular 2와 TypeScript를 처음 접했고 모범 사례를 따르려고 노력하고 있습니다.
간단한 JavaScript 모델 ({})을 사용하는 대신 TypeScript 클래스를 만들려고합니다.
그러나 Angular 2는 그것을 좋아하지 않는 것 같습니다.
내 코드는 다음과 같습니다.
import { Component, Input } from "@angular/core";
@Component({
selector: "testWidget",
template: "<div>This is a test and {{model.param1}} is my param.</div>"
})
export class testWidget {
constructor(private model: Model) {}
}
class Model {
param1: string;
}
그리고 나는 그것을 다음과 같이 사용하고 있습니다.
import { testWidget} from "lib/testWidget";
@Component({
selector: "myComponent",
template: "<testWidget></testWidget>",
directives: [testWidget]
})
Angular에서 오류가 발생합니다.
예외 : testWidget : (?)의 모든 매개 변수를 확인할 수 없습니다.
그래서 모델이 아직 정의되지 않았다고 생각했는데 ... 맨 위로 이동하겠습니다!
지금을 제외하고는 예외가 발생합니다.
원래 예외 : 모델 제공 업체 없음!
이 작업을 어떻게 수행합니까 ??
편집 : 모든 답변에 감사드립니다. 그것은 나를 올바른 길로 인도했습니다.
이것을 생성자에 삽입하려면 컴포넌트의 제공자에 추가해야합니다.
이것은 작동하는 것 같습니다.
import { Component, Input } from "@angular/core";
class Model {
param1: string;
}
@Component({
selector: "testWidget",
template: "<div>This is a test and {{model.param1}} is my param.</div>",
providers: [Model]
})
export class testWidget {
constructor(private model: Model) {}
}