Item {
id: test
Component.onCompleted: console.log("this is ", this, test)
}
Run Code Online (Sandbox Code Playgroud)
上面的代码输出显示了与Item相同的指针,那么thisQML中的关键字是什么?这是最近的QML组件的指针,可以使用id吗?
eyl*_*esc 18
this 是一个引用QML对象的属性,但其范围是本地的,不会达到子项的范围.
代替:
object可以
id从声明它的组件范围内的任何地方引用.因此,标识值在其组件范围内必须始终是唯一的.
例如:在下面的代码中,观察到第二个Item中的this指的是item2而不是item1.
Item{
id: item1
Component.onCompleted: {
console.log("item1")
console.log(this === item1)
console.log(this === item2)
}
Item{
id: item2
Component.onCompleted: {
console.log("item2")
console.log(this === item1)
console.log(this === item2)
}
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
qml: item1
qml: true
qml: false
qml: item2
qml: false
qml: true
Run Code Online (Sandbox Code Playgroud)