Angular访问数据子键问题更改键



我有一些数据:

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;
}

最新更新