如何别名日期对象属性?

时间:2014-11-10 12:09:48

标签: qml qt5 qtquick2

尝试声明readonly属性别名时遇到了麻烦 内部var(实际上是Date个对象)。这是一个例子 在我的笔记本电脑上重现它:

import QtQuick 2.0

Rectangle {
    width: 100
    height: 62
    color: time.getTime() === internal.time.getTime() ? "green" : "red"

    readonly property alias time: internal.time

    onTimeChanged: {
        if (typeof time === "undefined") return
        console.log("time:", Qt.formatDateTime(time), time.getTime())
        console.assert(time.getTime() === internal.time.getTime(), "not
equal")
    }

    Component.onCompleted: internal.time = new Date(1403621359000)

    QtObject {
        id: internal
        property var time: undefined
    }
}

外部时间属性报告的值确实是一个小时 之前是什么让我得出结论,可能是一天节省时间 机制可能涉及。

如果我将alias替换为var,则值仍然符合预期。

我应该注意哪些陷阱?什么可能导致这样的 行为?期望是别名不应该做任何事情 关于别名值的转换/转换。

0 个答案:

没有答案