Item1:绑定
如果我们能使用好绑定,他将发挥出巨大的作用。只要属性依赖于更改,就对绑定进行重新计算,这可能会导致性能下降或意外行为。即使绑定很简单,其结果也会很昂贵.
因此,在使用绑定时请考虑以下规则。
减少绑定数
当使用绑定时,在某些情况下可能会使用单个更改的信号来更新多个值。考虑以下示例:
Rectangle {
id: root
Binding on color {
when: mouseArea.pressed
value: mouseArea.pressed ? "red" : "yellow"
}
MouseArea {
id: mouseArea
anchors.fill: parent
}
}
它们并不是那么简单,而我们有一个更大的应用程序。如果您所见,有两个绑定,并且每个绑定都是在用户按下鼠标按钮时执行的。
我们可以重写如下,以将绑定数减少到一个。
Rectangle {
id: root
Text {
id: label
anchors.centerIn: parent
}
MouseArea {
id: mouseArea
anchors.fill: parent
onPressedChanged: {
if (pressed) {
root.color = "red";