Angular 2 ve TypeScript'te yeniyim ve en iyi uygulamaları izlemeye çalışıyorum.
Basit bir JavaScript modeli ({}) kullanmak yerine, bir TypeScript sınıfı oluşturmaya çalışıyorum.
Ancak, Angular 2 bundan hoşlanmıyor gibi görünüyor.
Benim kodum:
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;
}
ve bunu şu şekilde kullanıyorum:
import { testWidget} from "lib/testWidget";
@Component({
selector: "myComponent",
template: "<testWidget></testWidget>",
directives: [testWidget]
})
Angular'dan bir hata alıyorum:
İSTİSNA: testWidget için tüm parametreler çözülemiyor: (?).
Bu yüzden Model henüz tanımlanmadı diye düşündüm ... En üste taşıyacağım!
Şu an hariç istisnayı alıyorum:
ORİJİNAL İSTİSNA: Model için sağlayıcı yok!
Bunu nasıl başarırım?
Düzenleme: Cevap için herkese teşekkürler. Beni doğru yola götürdü.
Bunu yapıcıya enjekte etmek için, onu bileşen üzerindeki sağlayıcılara eklemem gerekiyor.
Bu işe yarıyor gibi görünüyor:
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) {}
}