什么是QML中的'this'关键字


Item {
    id: test
    Component.onCompleted: console.log("this is ", this, test)
}

上面的代码输出显示了指向 Item 的相同指针,那么 QML 中的this关键字是什么?这是最近的QML组件的指针,可以与id一起使用吗?

this 是一个引用 QML 对象的属性,但其作用域是局部的,不会到达子对象的作用域。

相反:

对象可以通过其id从声明它的组件范围内的任何位置引用。因此,标识值在其组件范围内必须始终唯一。

例如:在下面的代码中,观察到第二个项中的 this 是指项 2 而不是项 1。

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)
        }
    }
}

输出:

qml: item1
qml: true
qml: false
qml: item2
qml: false
qml: true

相关内容

  • 没有找到相关文章

最新更新