diff options
Diffstat (limited to 'doc/src/qml/basictypes.qdoc')
-rw-r--r-- | doc/src/qml/basictypes.qdoc | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/doc/src/qml/basictypes.qdoc b/doc/src/qml/basictypes.qdoc index 517bc953ea..c9998fe6e2 100644 --- a/doc/src/qml/basictypes.qdoc +++ b/doc/src/qml/basictypes.qdoc @@ -436,10 +436,9 @@ \brief A var type is a generic property type. A var is a generic property type capable of storing any data type. - It is equivalent to a regular JavaScript variable, except that you - cannot assign a JavaScript function to such a property. - For example, var properties can store numbers, strings, objects and - arrays: + It is equivalent to a regular JavaScript variable. + For example, var properties can store numbers, strings, objects, + arrays and functions: \qml Item { @@ -454,13 +453,10 @@ property var aVector3d: Qt.vector3d(100, 100, 100) property var anArray: [1, 2, 3, "four", "five", (function() { return "six"; })] property var anObject: { "foo": 10, "bar": 20 } + property var aFunction: (function() { return "one"; }) } \endqml - Attempting to assign a JavaScript function to a var property will result in - a binding assignment as per other property types. You can assign a JavaScript - array containing a single function element instead. - It is important to note that changes in regular properties of JavaScript objects assigned to a var property will \b{not} trigger updates of bindings that access them. The example below will display "The car has 4 wheels" as @@ -481,6 +477,11 @@ } \endqml + If the onCompleted handler instead had \tt{"car = new Object({wheels: 6})"} + then the text would be updated to say "The car has 6 wheels"., since the + car property itself would be changed, which causes a change notification + to be emitted. + A \c var type property can also hold an image or pixmap. A \c var which contains a QPixmap or QImage is known as a "scarce resource" and the declarative engine will attempt to |