1

我正在使用角度 devexpress 版本。在我的表单中dxselectbox,它具有onselectionchanged获取所选值的事件功能。我可以获取该值,但在回调函数中我无法访问另一个方法是全局声明的变量,它显示为未定义。

products : any[];
.....
onSelectionChangedCallback(event){
 let value = event.selectedItem;
this.test(); // shows undefined
this.products; // shows undefined
}

test(){
alert('');
}

问题是什么?请帮忙

4

1 回答 1

0

我认为您的问题与这张票有关:https: //supportcenter.devexpress.com/ticket/details/t487497/dxform-how-to-reach-a-service-within-onvaluechanged-handler-in-angular-2

问题在于回调函数内部this引用了 devexpress-widget 而不是您的角度组件。

解决方法是在您绑定 -Event 时绑定到thiscallbackFunction 。onSelectionChangedCallbackonselectionchanged

onselectionchanged: onSelectionChangedCallback.bind(this)

根据您提供的代码,我不知道在您的情况下它到底发生在哪里

Devextreme-文档:https ://js.devexpress.com/Documentation/Guide/Angular_Components/Component_Configuration_Syntax/#Callback_Functions

于 2021-12-20T08:49:31.400 回答