我有一些数据:
data = [
{
title: 'My Title',
settings: {
hasfooter: false
}
}
];
我有这个功能:
updateKeyValue(key?: any, value?: any): void {
this.data[key] = value;
}
现在我这样称呼它:
<button (click)="updateKeyValue(data[0].settings.hasfooter, true)">Change</button>
我的问题是它没有改变"hasfooter"
的值…
我该如何解决这个问题?
你的数据与你使用它的方式不匹配。
this.data[key] = value;
这个语句暗示这个。数据是字典或散列,可以使用字符串(键)访问。
但是这个用法:
updateKeyValue(data[0].settings.hasfooter
您现在正在处理"数据"作为数组。特别是一个字典数组。
那么是哪个呢?是这样的。数据是数组还是字典?在你开始使用它之前,你需要决定你的数据是什么。
也许你想做的是这个?
(click)="updateKeyValue(0, true)"
updateKeyValue(index: number, value?: any): void {
this.data[index].settings.hasfooter = value;
}