2017-08-15 40 views
0

我在Typescript中使用Knockout,我想將數據庫返回的數據加載到observableArray中。加載observableArray

我嘗試下面的代碼,但我得到了一個例外:

對象不支持在構造屬性或方法 '地圖'

this.boxes = ko.observableArray<Box>(data[0].box || []).map(e => new Box(
       e.index, 
       e.title, 
       e.value, 
       e.category 
      )); 


this.boxes = ko.observableArray<Box>([]); 

回答

1

map是一個正常JavaScript數組上的方法,而不是ObservableArray,所以您需要在響應數據之前對數組執行映射,然後將其傳遞給ko.observableArray<Box>()

this.boxes = ko.observableArray<Box>((data[0].box || []).map(e => new Box(
      e.index, 
      e.title, 
      e.value, 
      e.category 
     )));