Ho una classe che associa i dati variabili alla sua istanza.Typescript: Assegna dinamicamente le proprietà alla classe
class RouteData{
constructor(data: Object) {
// binding object attributes to instance
Object.keys(data).forEach((key) => { this[key] = data[key];})
}
}
let route: RouteData = new RouteData({hello: "test"})
console.log(route.hello);
Il risultato di quanto sopra è test
.
Tuttavia, durante la compilazione viene visualizzato un errore.
example.ts(9,19): error TS2339: Property 'hello' does not exist on type 'RouteData'.
Come posso dichiarare il tipo di questa classe per consentire per il legame di ogni altro bene sulla sua classe.
Grazie per la @Artem feedback. Il motivo per cui sto provando in questo modo è perché i binding che sto applicando sono sconosciuti. Non sono sicuro se ciao sarà il nome della chiave o che sarà una stringa. Vedere i dati. 'new Route ({percorso: '/ bozze', componente: DraftsCmp, come: 'bozze', dati: {isAdmin: falso}})' –