我刚刚创建了一个新的QML单例类型的运行时错误:
qrc:///Components/RunStatus.qml:-1 RunStatus is instantiated recursively
我有另一个QML单例对象可以正常工作,我比较了两者,并没有明显的差异。
这里是RunStatus.qml的来源:
pragma Singleton
import QtQuick 2.6
import Components 1.0
Item {
property bool isRunning: false
property bool isStopped: !isRunning
}
我的qmldir文件的来源是:
# singleton QML files
singleton RunStatus 1.0 RunStatus.qml
我删除了对象RunStatus
的所有引用,但仍然出现错误。但是,当我从qmldir文件中删除singleton
关键字时,运行时错误就会消失。
答案 0 :(得分:0)
从RunStatus.qml中删除以下import Components 1.0
语句:
var asyncEachSeries = require('async/eachSeries');
.
.
.
if (recommendationsArr.length > 0) {
asyncEachSeries(recommendationsArr, function (item, callback){
getContent(item).then(function(response){
try {
//do stuff
return true;
} catch (err) {
//do stuff
}
return response;
});
});
}
使用声明singleton qml对象的qmldir导入文件夹会导致递归实例化。