Rectangle {
id: idRectParent
Rectangle {
id: idRectChild1
component.onCompleted: {
console.log("Iam Child 1")
}
}
Rectangle {
id: idRectChild2
component.onCompleted: {
console.log("Iam Child 2")
}
}
component.onCompleted : {
console.log("Iam parent Rect")
}
}
结果
Iam parent Rect
Iam Child 2
Iam Child 1
或者
Iam parent Rect
Iam Child 1
Iam Child 2
执行顺序是先执行子矩形的component.onCompleted
信号处理程序,然后执行父矩形的component.onCompleted
信号处理程序。这是因为在层级结构中,子项的初始化先于父项的初始化。
需要注意的是,onCompleted
信号处理程序的执行顺序在同一层级内是不确定的,因此无法确保哪个子矩形的初始化先于另一个子矩形的初始化。但是,父矩形的初始化一定在子矩形之后执行。