summaryrefslogtreecommitdiffstats
path: root/doc/src/declarative/scope.qdoc
diff options
context:
space:
mode:
Diffstat (limited to 'doc/src/declarative/scope.qdoc')
-rw-r--r--doc/src/declarative/scope.qdoc41
1 files changed, 39 insertions, 2 deletions
diff --git a/doc/src/declarative/scope.qdoc b/doc/src/declarative/scope.qdoc
index c35f3e3..4c613df 100644
--- a/doc/src/declarative/scope.qdoc
+++ b/doc/src/declarative/scope.qdoc
@@ -43,7 +43,44 @@
\page qmlscope.html
\title QML Scope
-QML is a \e {dynamically scoped} language. \l {Property Binding}s and \l {ECMAScript Blocks}
-are executed
+\l {Property Binding}s and \l {ECMAScript Blocks} are executed in a scope chain automatically
+established by QML when constructing a component instance. QML is a \e {dynamically scoped}
+language. Different object instances instantiated from the same component can exist in
+dramatically different scope chains.
+\image qml-scope.png
+
+\section1 Variable object
+
+Where local variables are stored. Not really applicable to bindings.
+
+\section1 QML Scope object
+
+Principally for the \c parent property.
+
+\code
+Item {
+ anchors.fill: parent
+}
+\endcode
+
+vs
+
+\code
+Item {
+ anchors.fill: this.parent
+}
+\endcode
+
+\section1 QML Component chain
+
+Principally for propogating properties around the component.
+
+\section1 QmlContext chain
+
+App provided data.
+
+\section1 QML Global Object
+
+Contains all the properties ECMAScript defines, plus some QML ones. Documented \l {QML Global Object}.
*/