Javascript 在Webix中对datatable使用getContext时,Ajax不起作用

Javascript 在Webix中对datatable使用getContext时,Ajax不起作用,javascript,ajax,datatable,webix,Javascript,Ajax,Datatable,Webix,我正在设置一个文件管理器,当右键单击文件夹时,它将弹出上下文菜单,在弹出之前,我使用ajax禁用一些菜单项。但当我右键单击datatable中排列的文件夹时,ajax调用不起作用 这是我的弹出菜单项代码。右键单击在datatable中排列的文件夹时出错 webix.js?1.0.0:22356未捕获类型错误:无法读取未定义“”的属性“行” 删除并添加以上2行 var folderid = '1'; 在第二个函数之后,您失去了此的作用域。 下面是一个经过时间验证的解决方案: oninit: fu

我正在设置一个文件管理器,当右键单击文件夹时,它将弹出上下文菜单,在弹出之前,我使用ajax禁用一些菜单项。但当我右键单击datatable中排列的文件夹时,ajax调用不起作用

这是我的弹出菜单项代码。右键单击在datatable中排列的文件夹时出错

webix.js?1.0.0:22356未捕获类型错误:无法读取未定义“”的属性“行”

删除并添加以上2行

var folderid = '1';

在第二个函数之后,您失去了此的作用域。 下面是一个经过时间验证的解决方案:

oninit: function () {
    var self = this;
    this.getMenu().attachEvent("onBeforeShow", function (t) {
        var e = self.getContext();
        var folderid = e.id;
另见:

或者,如果您正在使用ES6,则可以使用箭头功能:

oninit: function () {
    this.getMenu().attachEvent("onBeforeShow", (t) => {
        var e = this.getContext();
        var folderid = e.id;

在执行第二个函数后,您失去了此的作用域。 下面是一个经过时间验证的解决方案:

oninit: function () {
    var self = this;
    this.getMenu().attachEvent("onBeforeShow", function (t) {
        var e = self.getContext();
        var folderid = e.id;
另见:

或者,如果您正在使用ES6,则可以使用箭头功能:

oninit: function () {
    this.getMenu().attachEvent("onBeforeShow", (t) => {
        var e = this.getContext();
        var folderid = e.id;