【发布时间】:2017-02-27 20:47:36
【问题描述】:
假设我们有以下JS文件:
logic.js
function Car(){}
还有这些 QML 文件:
comp1.qml
import 'qrc:/js/logic.js' as Logic
Item{
property var item: Logic
}
comp2.qml
import 'qrc:/js/logic.js' as Logic
Item{
property var item: Logic
}
如果您运行和评估,您会发现那些 item 属性不相等。为什么?
在我的应用程序中,在一个 QML 文件中,我 new 一个对象并想检查它是否是 instanceof 构造函数,但由于这些构造函数不相等(因为那些 Logics 't), instanceof 运算符总是返回 false。
【问题讨论】:
-
限定符和 JavaScript 文件之间总是存在一对一的映射关系。我认为这就是为什么
Logics 是不同的。 -
您可能会尝试使用 QML-Singleton-File,在其中导入 js 文件并拥有您的属性。然后你导入这个单例。
标签: javascript qt qml