gpt4 book ai didi

angular - 无法执行上下文菜单中的功能

转载 作者:行者123 更新时间:2023-12-03 20:27:58 26 4
gpt4 key购买 nike

我试图在我的上下文菜单中调用一个函数。

getContextMenuItems(params) {
console.log(params.node.data)
var result = [

{
name: "Delete",
action : function () {
this.deletePriceFactor(params.node.data);
}
,
cssClasses: ["redFont", "bold"]
},
{
name: "Audit"
}

]
return result;
}

deletePriceFactor = (rowdata) =>{
this.priceFactorService.deleteEntry(rowdata.exchangeCode, rowdata.productCode, rowdata.secType).subscribe(pricefactors => {
});

}

我不断收到错误消息:
错误类型错误:this.deletePriceFactor 不是函数
在 Object.action (price-factor.component.ts:162)

我试过使用这样的箭头函数:
action : () =>  { 
this.deletePriceFactor(params.node.data);
}

以上导致另一个错误:core.js:1673 ERROR TypeError: Cannot read property 'deletePriceFactor' of undefined

最佳答案

如果你的 html 是这样的:

<ag-grid-angular
[getContextMenuItems]="getContextMenuItems"
.
.
.
></ag-grid-angular>

然后函数 getContextMenuItems必须写成:

getContextMenuItems = (params) => {
}

因此, this关键字指向您的组件。

之后,调用您的方法,如:

action : () => this.deletePriceFactor(params.node.data)

关于angular - 无法执行上下文菜单中的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56838691/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com