gpt4 book ai didi

javascript - 在 nativescript 中,On-event 无法从 Gridlayout 获取对象

转载 作者:行者123 更新时间:2023-11-30 15:49:30 25 4
gpt4 key购买 nike

我的代码

var gridLayout = page.getViewById("grid9");
var num;
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
num = i * 3 + j;
//build the grids
var cell = new StackLayout();
cell.id = "GD" + num;
cell.className = "grid";
cell.on("tap", function () {
alert(this.id);// <============problem is here!
});


var img = new ImageModule.Image();
img.src = "~/img/u.png";
cell.addChild(img);

GridLayout.setRow(cell, i);
GridLayout.setColumn(cell, j);
gridLayout.addChild(cell);
}
}

该应用程序向我显示了正确的 9 张图片,但在我触摸每条线时提醒我 undefined。将警报方法参数 this.id 更改为 cell.id 后,如果我点击网格 - 每个网格,它会显示 GD8。看起来我在点击网格时没有得到单元格对象,或者,加载方法执行后页面上的对象不存在。我是否以错误的方式使用了 on-event 方法,或者我陷入了 JS 陷阱?

最佳答案

您需要将 args 参数传递给该函数,以便它根据打印出该对象的 ID 来识别您刚刚点击的对象:

cell.on("tap", function(args) {
alert(args.object.id);
});

关于javascript - 在 nativescript 中,On-event 无法从 Gridlayout 获取对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39611232/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com