javascript - typescipt say to all public variables "undefined" -


i got following code

module absence { export var instance: absenceviewmodel;   export class viewmodel {      public items: knockoutobservablearray<absenceitem>;       public reloaddata() {             this.items.removeall();     }   } } 

in page create instance using this

absence.instance = new absence.absenceviewmodel(); 

now when call

absence.instance.reloaddata();  

it in browser console

cannot read property 'removeall' of undefined

but imported knockout libary , other needed stuff. present.

when use internal instance

absence.instance.items.removeall(); 

what wrong?

edit:

i wrote dcklaration of viewmodel , declaration of instance in separate js file. these files loaden in page. after page ready instantiate instance of viewmodel hand in debug console. in call method reloaddata. can sure classes available @ moment when call methods.

i'm not yet familiar get mechanism in typescript, while able solve issue it, i'm adding answer, believe general solution tackling problem.

the following error:

cannot read property 'removeall' of undefined

is caused fact not initialize itemsarray. have declared property of viewmodel class. adding constructor , initlaizing properties in correct manner avoids these kind of issues. hence, update code to:

module absence { export var instance: absenceviewmodel;   export class viewmodel {      public items: knockoutobservablearray<absenceitem>;      constructor(){         this.items = ko.observablearray();     }      public reloaddata() {             this.items.removeall();     }   } } 

Comments

Popular posts from this blog

c++ - OpenCV Error: Assertion failed <scn == 3 ::scn == 4> in unknown function, -

php - render data via PDO::FETCH_FUNC vs loop -

The canvas has been tainted by cross-origin data in chrome only -