别名循环
别名属性是别名循环的一部分
发生了什么?
一个 属性别名 解析为自己或解析为自己解析的另一个别名。
通常,属性别名 应直接或通过另一个别名属性间接引用另一个属性。
如果一个属性别名直接或间接地引用自己,它就形成了一个别名循环。警告表示当前别名属性位于别名循环中或引用了别名循环,请参阅示例。
为什么会这样?
包含别名循环的组件实例在运行时不会被创建:它们将是空的。
示例
import QtQuick Item { id: someId property alias myself: someId.myself // not ok: referring to itself property alias cycle: someId.cycle2 // not ok: indirectly referring to itself property alias cycle2: someId.cycle property alias indirect: someId.cycle // not ok: referring to alias indirectly referring to itself }
您可以通过打破别名循环来解决这个问题警告
import QtQuick Item { id: someId Item { id: anotherId property string myself property int cycle } property alias myself: anotherId.myself // ok: referring to a property property alias cycle: someId.cycle2 // ok: does not refer to itself anymore property alias cycle2: anotherId.cycle // ok: not a cycle anymore property alias indirect: someId.cycle // ok: cycle does not form an alias cycle anymore }
© 2024 Qt 公司 Ltd. 以下文档贡献的版权属于各自的所有者。提供的文档是根据自由软件基金会发布的GNU 自由文档许可证版本 1.3 的条款提供的。Qt 和相关标识是芬兰以及全球其他国家的 Qt 公司的独特标志。所有其他商标均为各自所有者的财产。