2017-03-01 45 views
1

當我嘗試在Wakanda studio 1.1.3中運行我的頁面時,在編譯時將TS轉換爲JS時出現錯誤。它向我顯示一個錯誤,指出「無法找到數據存儲區」;這是在我的wakanda數據庫中。其他人是否得到相同的錯誤?在Angular2中編譯期間找不到數據存儲

這裏是代碼:

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' 不存在在類型'目錄'上。 [默認] 檢查已完成了4個錯誤

image

這一個情況,即使我做在編譯時對任何數據存儲的調用。

+0

你可以發佈一下你的代碼嗎? –

+0

我已更新該問題以供進一步參考 – skid

+0

終於可以向我們展示完整的錯誤了嗎? –

回答

1

這個問題的解決方案是使用目錄的返回類型的任何

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

在編譯的時候沒有任何問題的這一個工程。