IRawParams
adında bir string
anahtar ve any
vals değerini belirten bir arabirim var.Bir dizin imzası olan bir Typescript sınıfı tanımlayabilir miyim?
interface IRawParams {
[key: string]: any
}
Ben bir sınıf, anahtarlar/değerlerin üstünde bazı davranışı içeriyor ParamValues
var. ParamValues
sınıfının IRawParams
arabirimini uygulattığını belirtmek isterim.
error TS2420: Class 'ParamValues' incorrectly implements interface 'IRawParams'. Index signature is missing in type 'ParamValues'.
Ben typescript IRawParams Arayüz uyarlamak ya da başka olsun benim sınıf benim sınıfının örnekleri ile uyumlu olacak şekilde izin alabilir miyim: Bu çalıştığınızda
class ParamValues implements IRawParams {
parseFromUrl(urlString: string) {
Parser.parse(urlString).forEach(item => this[item.key] = item.val);
}
}
// so I can do something like this
var params = new ParamValues();
params.parseFromUrl(url);
var userId = params.userId;
, bir derleyici hatası alıyorum endeksli tip {[key: string]: any}
mu?
Teşekkür! Şimdi aptal gibi hissediyorum. İmzayı kaşlı ayraçlarla sardım: '{[key: string]: any} –