如何声明仅在某个时间点存在的属性?
我的第一次尝试是实现一个方法getThingy()
,如果它存在则返回指向thingy的指针,否则返回null。我会有一个信号通知属性何时发生变化。
Q_PROPERTY(Thingy* thingy READ thingy NOTIFY thingyChanged)
然而,当我在QML中访问它时,QML运行时一直在抱怨:
TypeError: Cannot read property 'thingy' of null
如果我想要一个可选的属性,那么QML的方式是什么呢?
答案 0 :(得分:1)
您可以这样做,但正如您所见,您无法从null
值访问属性。你必须首先检查它是否为非空。
这可以像在javascript中一样完成:
thingy ? thingy.property : defaultValue
thingy && thingy.property // returns null if thingy is null