[Qt-qml] Cannot store javascript object in property, why?

Petrus Lundqvist petrus.lundqvist at nokia.com
Fri Dec 17 15:08:12 CET 2010


You can do this with:

property variant myobj

.. and then set it to a JS object (or array). But the problem is that if
you now try to modify myobj you'll find that it has become immutable.

Peppe

On Fri, 2010-12-17 at 14:54 +0100, ext Ville M. Vainio wrote:
> Currently, you cannot store javascript objects as properties in qml
> components, e.g. you can't do
> 
> propery JSRef myobj
> 
> function setCallback(f) { myobj = f };
> 
> On irc #qt-qml, this explanation was quoted:
> 
> QQQ
> In QML "property var" cannot store JavaScript native objects, as we
> cannot bind to them. This might change in a future release. For now,
> more explicit warnings are generated when you accidentally do this.
> QQQ
> 
> I can't claim to understand the explanation, but I'm curious whether
> we will have this feature in the near future - as the lack of it seems
> to be a pretty fundamental shortcoming in QML, and workarounds (like
> storing the reference in a .js file, or using C++) seem quite hacky in
> comparison.
> 




More information about the Qt-qml mailing list