Property-var: Difference between revisions
		
		
		
		
		
		Jump to navigation
		Jump to search
		
			
		
		
	
No edit summary  | 
			
(No difference) 
 | 
Revision as of 16:18, 14 January 2015
QtQuick 1.x
- There was no javascript var type property, but property variant, internally a QVariant.
 - Assigning a JavaScript object to that property would result in it being converted to a QVariantMap.
 - Accessing that property from JS would result in that QVariantMap being converted back into a JS object.
 - JS function reference, special JS values (null, undefined) could not be stored in the ‘property variant’ type of property.
 
QtQuick 2.0
- Deprecated “property variant” and added “property var; internally they are javascript values.
 - Support storing of anything created in JS, including JS function references.
 - Only when accessed from C++ (via QObject::property() or QQmlProperty::read()) will be converted to a QVariant (same conversions rules of any other JS value to QVariant conversion apply).
 - When implementing types on the C++ side, one can use the QJSValue class as a property/method parameter to transfer values between C++ and QML/JS without type/data loss.
- Includes JS functions; for example, you can assign a function to a property from QML and call it later from C++ using QJSValue::call().
 
 - There’s also QJson{Value,Object,Array} integration.