函数通过循环迭代,一次又一次,但是再也不会起作用
|
我正在调用Titanium模式窗口,然后运行一个循环遍历某些数据的函数;
视窗1:
var win = Ti.UI.createWindow({
url: \'window2.js\'
modal: 1
});
win.open();
窗口2 :(从窗口1调用)
win = Ti.UI.currentWindow;
function doLoop() {
Ti.API.info(\'doLoop fn called\');
// I\'ve tracked the issue down to here
var m = 0;
for(var i in list) { m++; }
Ti.API.info(m);
Ti.API.info(\'finished\');
}
win.addEventListener(\'open\', function() {
// list is dynamically generated and passed through successfully from window1.js
doLoop();
});
每次成功调用doLoop(),每次成功调用list。
首次运行时,它运行完美。第二次(不是第一次)运行需要一定时间才能暂停并运行循环,但是m从未递增?循环暂停后,输出“已完成”。
有任何想法吗?
function buildMediaItemsSelectionTable() {
var mediaCount = 0, i;
for(i in mediaItemsSelectionList[0]) { mediaCount++; }
for(i=0,l=mediaCount;i<l;i++) {
addMediaItemsSelectionSongsRow(i);
}
}
没有找到相关结果
已邀请:
2 个回复
财沟项胶
函数存在的问题 您的for..in循环可能会捕获您没有的对象属性 不需要双循环 这是适当的修改
另一个问题是由于您未提供足够的代码而不得不猜测的问题。我假设您正在通过Titanium的变量转发将ѭ5传递给模态。也许是这样的?
而且必须反复打开模式,对吗?也许一个按钮
但是根据您的描述,ѭ5发生了变化,因此让我们制作一个随机列表生成器并将其插入到我们的页面中,这样整个过程看起来像这样
这怎么了不管您打开模态多少次,“ 10”仅被调用一次。即使window1是导航或选项卡组的一部分,创建模态窗口的代码在任何情况下都不会重新执行。 如果您希望每次都将新列表转发到模式,则每次都必须重新生成它
呕蹿尉
}