当我尝试在Wakanda studio 1.1.3中运行我的页面时,我在编译时将TS转换为JS时出错。它显示一个错误,指出“无法找到数据存储区”;这是我的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是我的数据存储区中的一个表,并且有一个名为testmethod
的方法。
[默认] /Users/adithyavinayak/Documents/Wakanda/solutions/TestDatabase/TestDatabase/web/src/app/home/home.component.ts:21:8 属性“TestDatabase”在“Catalog”类型上不存在。 [默认] 检查已完成4个错误
即使我在编译期间调用任何数据存储区,也会发生这种情况。
答案 0 :(得分:1)
此问题的解决方案是将目录的返回类型用于任何
this.wakanda.catalog.then((ds:any)=>{
ds.TestDatabase.testmethod().then(op=>{
console.log(op);
});
});
这个在编译期间没有任何问题。