Angular Primeng 菜单栏访问方法问题
Angular Primeng Menubar Access To Method Problem
我尝试如下调用菜单 onclick 事件的方法,但出现错误。
component.ts
loadWorkSpace(WorkSpaceName: string, QNameSpaceId: number, QEnvironemntId: number, QWorkSpaceId: number) {
this._qWorkSpaceFilterServiceProxy
.getAll(QWorkSpaceId, null, 0, 1000)
.subscribe((result) => {
filterItemList = _map(result.items, function (qWSFilter) {
return {
label: qWSFilter.qWorkSpaceFilter.workspaceFilterName, command: (event: Event) => this.consoleMsg()
};
});
this.items = [
{
label: 'Applications',
items: itemList
},
{
label: 'Filters',
items: filterItemList
}
];
});}
consoleMsg() {
console.log("test");
}
错误:
Console error message
对不起我的英语不好。
这是因为consoleMsg()在函数内部调用时不存在,只是因为consoleMsg()是在函数调用之后描述的。您可以先尝试描述 consoleMsg(),然后再描述更大的函数。
由于我使用的“_map”方法,我无法访问 'this' 令牌。
这样做解决了问题:
filterItemList = result.items.map((qWSFilter) => {
return {
label: qWSFilter.qWorkSpaceFilter.workspaceFilterName, command: (event) => { this.consoleMsg() }
};
});
我尝试如下调用菜单 onclick 事件的方法,但出现错误。
component.ts
loadWorkSpace(WorkSpaceName: string, QNameSpaceId: number, QEnvironemntId: number, QWorkSpaceId: number) {
this._qWorkSpaceFilterServiceProxy
.getAll(QWorkSpaceId, null, 0, 1000)
.subscribe((result) => {
filterItemList = _map(result.items, function (qWSFilter) {
return {
label: qWSFilter.qWorkSpaceFilter.workspaceFilterName, command: (event: Event) => this.consoleMsg()
};
});
this.items = [
{
label: 'Applications',
items: itemList
},
{
label: 'Filters',
items: filterItemList
}
];
});}
consoleMsg() {
console.log("test");
}
错误: Console error message
对不起我的英语不好。
这是因为consoleMsg()在函数内部调用时不存在,只是因为consoleMsg()是在函数调用之后描述的。您可以先尝试描述 consoleMsg(),然后再描述更大的函数。
由于我使用的“_map”方法,我无法访问 'this' 令牌。
这样做解决了问题:
filterItemList = result.items.map((qWSFilter) => {
return {
label: qWSFilter.qWorkSpaceFilter.workspaceFilterName, command: (event) => { this.consoleMsg() }
};
});