如何在更改之前获取先前的属性值?(在 QML 中)

Xin*_*rea 6 properties qml

我想了解以下问题:

如何在声明性 QML 语言中存储属性的先前值?

任务是在更改之前将属性值记忆到另一个属性。问题在于现有的信号机制onPropertyNameChanged()。此机制在修改后发出有关属性更改的信号。而在这个处理程序中,不可能获得该属性的先前值来记住它。

最好看代码示例。

fol*_*bis 3

有趣的问题。我看到的唯一方法有点愚蠢:

Item {
    id: item
    property int prev: 0
    property int temp: value
    property int value: 0
    onValueChanged: {
        prev = temp;
        temp = value;
        console.log("prev=" + prev);
        console.log("value=" + value)
        console.log("---------------");
    }

    Timer {
        interval: 1000
        repeat: true
        running: true
        onTriggered: {
            item.value = Math.round(Math.random() * 1000);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)