推送和拼接在这里不起作用。这是我的模型。我需要这种模型来建立我的表。拼接会删除所有内容,而推送则无济于事。
export class Parameter {
constructor(
public asset: string,
public wx: IWx[]
) {
}
}
export interface IWx {
[key: string]: IWxValue;
}
export interface IWxValue {
yellowValue: any;
redValue: any;
}
这是我的职责
ajouteWx(pIndex: number, wxIndex: number) {
console.log(pIndex);
console.log(wxIndex);
this._parameters[pIndex].wx = this._parameters[pIndex].wx.push({hello: {yellowValue: 5, redValue: 2}});
this._parameters[pIndex].wx = this._parameters[pIndex].wx.splice(wxIndex, 0, {hello: {yellowValue: 5, redValue: 2}});
}
array.push返回一个数字,代表数组的新长度。
array.splice return一个新的Array,其中包含已删除的项(如果有)。
所以,这里的问题是您用这两种方法返回的值覆盖了数组。
解决方案是您不必将它们分配到表中,直接使用push和splice,因为push和splice已经使原始数组发生了变化:
this._parameters[pIndex].wx.push({hello: {yellowValue: 5, redValue: 2}});
this._parameters[pIndex].wx.splice(wxIndex, 0, {hello: {yellowValue: 5, redValue: 2}});
并且不要忘记初始化表this._parameters [pIndex] .wx(检查是否已初始化)