我的应用上有以下代码可添加小部件:

while(i < rc_length) {
    console.log(i);
    mooncards[i] = Alloy.createWidget("moonCards");
    mooncards[i].on('close',function(){
        $.dashboard_scroll.remove(mooncards[i].getView());
    });
    $.dashboard_scroll.add(mooncards[i].getView());
    i++;
}


因此,我可以在mooncards上添加scrollview,并在小部件内添加要触发的函数以删除自身。

这就是这个主意,但是不幸的是,唯一删除的小部件是最后一个。显然,添加新窗口小部件时引用remove(mooncards[i])丢失。

我仍在学习Javascript,因此在这里我没有做错什么。

如何添加很多小部件并专门删除每个小部件,而又不会丢失参考?

请让我知道是否需要更清楚的说明。

最佳答案

您遇到经典的javascript绑定问题。

我会尝试更改:

 $.dashboard_scroll.remove(mooncards[i].getView());




 $.dashboard_scroll.remove(this.getView());

09-08 08:04