我正在尝试在qml中创建动态对象,并使用JS文件中的push()
函数将这些对象保存到数组中,这是我的main.qml
文件:
import "AidFile.js" as Jsfile
var c = null
c = Qt.createComponent("Lines.qml")
k = c.createObject(gameCanvas)
k.height = 1
k.width = grid.spacing
k.x = image1.x - grid.spacing
k.y = image1.y + image1.height / 2
Jsfile.enterKs(k)
Jsfile.cons()
&安培;这是函数enterKs
& cons
文件中的AidFile.js
:
var t = [];
function enterKs(k) {
t.push(k);
}
function cons(){
var i = t;
var tester;
for (var counter=0; counter<=t.length; counter++){
tester = i.pop();
console.log(tester.x);
console.log(tester.y);
}
}
每次我只调用cons
函数x&amp;打印最后一个对象(k)的y,表示i
数组只包含一个元素(最后一个被推送),为什么会发生这种情况,尽管它应该打印x&amp; y使用enterKs
函数将所有对象推送到数组中。任何想法都将不胜感激。