prefab 多次实例化 挂载脚本中属性的数据隔离

场景描述:

我按照官方 【只做动态生成内容的列表】指导,做了一个练习

prefab多次实例化:

prefab上挂载了模板脚本,脚本中有一个【clicked】属性,默认为false:

prefab绑定了点击事件,点击后会将clicked属性设置为true。

按照我的理解,prefab实例化出10个,他们的属性应该是隔离的,每点击一个prefab,就将当前prefab实例的clicked属性设置为true,而其他的实例的clicked属性不受影响。

但是,事与愿违,当我点击其中一个实例时,发现,其他所有的实例clicked属性全部变成了true。

查看了诸多社区问题和文档说明,未能找到解决办法,烦请指教。

你的理解是没错的,上个demo看看?

1赞
把
var item = cc.instantiate...
改为
let item = cc.instantiate...
试试

1赞

非常棒,根据您的指示,已经实现了我的要求,万分感谢!

尽量用let吧,会让你绕开很多问题

JS的变量作用域确实是很蛋疼。。。一不小心就出问题