在 Angular2 中编译期间找不到数据存储

cannot find the datastore during the compiling in Angular2

当我尝试 运行 我在 Wakanda studio 1.1.3 中的页面时,我在将 TS 转换为 JS 的编译过程中遇到错误。它向我显示错误 "cannot find the datastore";它存在于我的 wakanda 数据库中。还有其他人遇到同样的错误吗?

代码如下:

this.wakanda.catalog.then(ds=>{
    ds.TestDatabase.testmethod().then(op=>{
        console.log(op);
    });
});

我的wakanda.service.ts如下

import {WakandaClient} from 'wakanda-client/browser/no-promise';

export class Wakanda {

  private _client: WakandaClient;
  private _catalog;

  constructor() {
    //this._client = new WakandaClient({ host: 'http://127.0.0.1:8081' });
    this._client = new WakandaClient({});
    this._catalog = null;
  }

  get catalog() {
    if (!this._catalog) {
      return this._client.getCatalog().then(c => {
        this._catalog = c;

        return c;
      });
    }

    return Promise.resolve(this._catalog);
  }

  get directory() {
    return this._client.directory;
  }

  get wakandaClientVersion() {
    return this._client.version();
  }
}

其中 TestDatavase 是我的数据存储中的一个 table 并且有一个名为 testmethod.

的方法

[default] /Users/adithyavinayak/Documents/Wakanda/solutions/TestDatabase/TestDatabase/web/src/app/home/home.component.ts:21:8 Property 'TestDatabase' does not exist on type 'Catalog'. [default] Checking finished with 4 errors

即使我在编译期间调用任何数据存储,也会发生这种情况。

这个问题的解决方法是使用 return 类型的目录到任何

this.wakanda.catalog.then((ds:any)=>{
    ds.TestDatabase.testmethod().then(op=>{
        console.log(op);
    });
});

这个在编译的时候没有任何问题。