Hi François, The best way to do this is to use QML ListModel. Instead of loading the properties in a JS object, you can load them as model properties (via http://qt-project.org/doc/qt-5/qml-qtqml-models-listmodel.html#set-method). Accessing the properties would be done via "model":
DetailItem { label: qsTr("MyProp") value: model.myProp } If you don't want to use a ListModel, prefer using QtObject instead of Item. QtObject provides a non-graphical component to store properties, unlike Item that implies having a "box" (x, y, width, height, anchors etc.) Regards, Lucien ----- Mail original ----- De: "François K." <daithe...@free.fr> À: "Sailfish OS Developers" <devel@lists.sailfishos.org> Envoyé: Mardi 2 Décembre 2014 10:31:46 Objet: [SailfishDevel] Wrap data in Item to get notifiable properties ? Hi, I'm writing a small app for SailfishOS in JS + QML (I don't know C++ so please don't tell me to do this in C++). I'm getting data from LocalStorage and hence get a Javascript Object with its own properties. Let's call it myObj. Then I bind some field in a view to these properties : DetailItem { label: qsTr("MyProp") value: myObj.myProp } Now, if I update myObj.myProp, the value of the DetailItem doesn't get updated. For what I understand, this is normal because the properties of my Javascript Object (myObj) aren't notifiable and thus, QML doesn't know it has been updated. To fix this, I wonder if it's OK to wrap my JS object into a QML Item. This would give me notifiables properties and would certainly allow me to get working bindings. What do you think about this ? Is it OK ? Thanks a lot for your help, Best wishes, -- François _______________________________________________ SailfishOS.org Devel mailing list To unsubscribe, please send a mail to devel-unsubscr...@lists.sailfishos.org _______________________________________________ SailfishOS.org Devel mailing list To unsubscribe, please send a mail to devel-unsubscr...@lists.sailfishos.org