You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Because you've used the singleton: true configuration when defining your class, the Sencha class system automatically creates a single instance of the class you defined in that file, and sets MyApp.preferences.Preferences with a static reference for that instance (rather than an instantiatable class definition). Consequently, Deft JS's internal attempt to eagerly create an instance of the specified class, i.e.Ext.create('MyApp.preferences.Preferences'), fails with that error.
If you remove that line, Deft JS will be able to eagerly create an instance of the MyApp.preferences.Preferences class and will fulfill any injection requests with a singleton instance managed by the IoC container.
You're not the first person to run into this - so I'm considering adding logic to detect classes that are explicitly defined to be singletons via the Sencha class system. Provided we can obtain a reference to the underlying class instance, we can sidestep this confusion and populate the IoC container with that same reference. In the case where a class has been defined as a singleton and the IoC container is asked to configure it as a prototype, we will still need to throw an error. However, it will be Deft JS throwing the error, rather than the Sencha class system (which threw the error you reported). We'll want to make that error explicitly guide the developer as to how to fix the problem.
using deftjs 0.6.4
browser : chrome 18 on windows 7.
was doing:
created MyApp.preferences.Preferences as singleton
Got this in Chrome console:
The text was updated successfully, but these errors were encountered: