2014-05-15 37 views
0

我開始將應用程序遷移到使用Kendo UI的打字稿中。Kendo UI上的打字稿 - 打字數據源定義

我認爲我沒有使用typescript全部潛力的第一個項目之一是數據源的定義。在編寫數據源定義時,我沒有得到「transport」對象的任何類型屬性(例如read,parameterMap等)。

我做錯了什麼,還是有更好的方式來定義打字機上的數據源?

我繼續使用Kendo的文檔,但找不到任何寫入不同的示例。

見下面我的代碼:

class ViewModel extends kendo.data.ObservableObject { 
    dadosGrid = new kendo.data.DataSource({ 
     type: "jsonp", 
     transport: { 
      read: { 
       url: '/Controller/Action', 
       contentType: "application/json", 
       type: "POST" 
      }, 
      parameterMap: function (options) { 
       return kendo.stringify(options); 
      } 
     }, 
     schema: { 
      total: "Total", 
      data: "Data", 
      model: { 
       id: "Id", 
       fields: { 
        Name: { type: "string" }, 
        Surname: { type: "string" }, 
       } 
      } 
     }, 
     pageSize: 10, 
     serverPaging: true, 
     serverFiltering: true, 
     serverSorting: true 
    }); 

    //#endregion 
} 

感謝

回答

0

你引用劍道定義文件在您的打字稿文件的頂部?

/// <reference path="kendo.all.d.ts" /> 

http://docs.telerik.com/kendo-ui/howto/typescript/overview

+0

你好,是的,我有。我也獲得了其他劍道小部件的類型。我也爲kendo.data.Datasource類型獲取它,並且還提供了關於什麼時候鍵入「transport」的建議,但它在那裏停止(例如,「read」屬性沒有建議/智能感知)。 – HobojoeBr

0

我打了這一點。這個問題很舊,所以只是爲其他人添加。我猜他們需要更新他們的定義。現在,我只是在做這樣的事情:

var dataSource:any = this._scheduler.dataSource; dataSource.transport.options.read.url = schedulerOptions.readUrl;

+0

我相信按照你提到的方式來做這件事比我的方法更糟糕,因爲你的數據源根本沒有輸入。無論如何,劍道應該做些什麼,因爲我們失去了TypeScript給我們的類型安全... – HobojoeBr

+0

在再次擊中這個之後,我發佈了他們的論壇。 Telerik確認這是一個問題,他們計劃在他們的打字稿定義中添加更多內容:http://www.telerik.com/forums/datasource-typescript-definition-missing-info – Michael

0

可能有點晚了,但仍然 您可以使用獨立的接口,並使用它像截圖 screenshot