<script>
//前面省略
//假设
this.demo1=false;
this demo2=false;
this demo3=false;
this demo4=false;
this demo5=false;
this demo6=false;
//.........
this.demo100=false;
click(id){
for (let i=1;i<=100;i++) {
if(id==i)
this.demo.i = true; //给上面的变量赋值,但是这句会报错
this.demo+i = true; //也报错
}
}
}
会报错,在for循环里 this和i怎么组合啊
id和i相等的情况下,循环是没有意思的,白白浪费性能;
取值也不对,
this[`demo${i}`] = true;
【以下回答由 GPT 生成】
在这种情况下,可以使用计算属性名来动态赋值。您可以将属性名组合为字符串,然后使用计算属性名来访问和赋值该属性。具体解决方案如下所示:
click(id) {
for (let i = 1; i <= 100; i++) {
if (id == i) {
const propertyName = 'demo' + i; // 组合属性名
this[propertyName] = true; // 使用计算属性名赋值
}
}
}
使用上述代码,您就可以根据id
的值,动态地给this
下面的属性赋值。例如,当id
为1时,this.demo1
将被赋值为true
。
希望这个解决方案对您有所帮助。如果有任何其他问题,请随时提问。