访问Javascript嵌套函数和对象

5ktev3wc  于 2023-01-16  发布在  Java
关注(0)|答案(1)|浏览(117)

我正在使用制表程序数据网格javascript库,它启动如下:

let grid = new Tabulator("#grid1", {// configuration goes here});

与任何其他Javascript库一样,Tabulator允许使用各种方法,如下所示:网格. setData().
在我的项目中有几十个网格,我想在我的Javascript文件中更好地组织它们。我尝试创建一个函数/对象,并将所有网格对象放在里面,然后访问函数/对象成员来启动所需的网格,并仍然能够访问制表程序方法,如grid.setData()。
示例:

function allGrids() {
    this.grid1 = new Tabulator("#grid1");
    this.grid2 = new Tabulator("#grid2");
    this.grid3 = new Tabulator("#grid1");

    let gridsObj = {
      grid1: this.grid1,
      grid2: this.grid2,
      grid3: this.grid3
    };

    return gridsObj;
}

let grids = new allGrids();

// Access grid1
grids.grid1
// Access grid2
grids.grid2
// Access grid3
grids.grid3

我希望它是这样工作的:grids.grid1以及其他制表程序方法应可访问,以重新加载/更新数据,如下所示:数据集().
在allGrids函数中放置多个Tabulator对象后,三个网格同时启动,如何停止它们的自动执行,使其只在调用特定对象成员时才起作用?
我做错什么了?谢谢!

jgwigjjp

jgwigjjp1#

function allGrids() {
    this.grid1 = () => new Tabulator("#grid1");
    this.grid2 = () => new Tabulator("#grid2");
    this.grid3 = () => new Tabulator("#grid1");

    let gridsObj = {
      grid1: this.grid1,
      grid2: this.grid2,
      grid3: this.grid3
    };

    return gridsObj;
}

let grids = new allGrids();

// Access grid1
grids.grid1()
// Access grid2
grids.grid2()
// Access grid3
grids.grid3()

相关问题