假设我在A.qml中有一个ListModel组件:
ListModel {
id: alphabetModel
}
我有一个单独的JS文件,可将项目附加到我的ListModel中:
alphabetModel.append({"Letter": "A"});
如果我运行代码,会出现参考错误:
ReferenceError: alphabetModelis not defined
我知道,如果我的ListModel位于main.qml中,并且我确实将JS文件导入到A.qml中,则不会收到ReferenceError。
解决该参考错误的任何方法吗?
答案 0 :(得分:0)
看Including a JavaScript Resource from Another JavaScript Resource
以下示例来自上面的链接:
import QtQuick 2.0
import "script.js" as MyScript
Item {
width: 100; height: 100
MouseArea {
anchors.fill: parent
onClicked: {
MyScript.showCalculations(10)
console.log("Call factorial() from QML:",
MyScript.factorial(10))
}
}
}
script.js
// script.js
Qt.include("factorial.js")
function showCalculations(value) {
console.log("Call factorial() from script.js:"),factorial(value));
}
factorial.js
// factorial.js
function factorial(a) {
a = parseInt(a);
if (a <= 0)
return 1;
else
return a * factorial(a - 1);
}