2013-04-20 80 views
0

我有一個列表emberjs。我想用來自服務器的數據創建該列表的新元素。數據通過JSON格式阿賈克斯傳輸,看起來像這樣:如何從json格式的服務器響應填充ember.js模型?

{ 
    "status": "success", 
    "material": 
    [ 
    { 
     "user1": "test", 
     "create_datetime": "2013-03-30 10:36:24+00:00" 
    } 
    ] 
} 

如何填寫ember.js模型我的清單?

回答

1

這可以通過遍歷返回的材料數據來完成。 (CoffeeScript的)

模型

App.Material = Ember.Object.extend 
    userId: null 
    createDateTime: null 

App.Item = Ember.Object.extend 
    status: null 
    materials: [] 

控制器

App.ItemController = Ember.ObjectController.extend 

    init: -> 
    @loadData() 

    loadData: => 
    $.ajax 
     url: "/api/items" 
     success: (data) => 
     if data?  
      # create an item object 
      item = App.Item.create 
        status: data.status 

      # loop through all materials for current item 
      for material in data.material 
      # push materials onto item.material stack 
      item.materials.pushObject App.Material.create 
             userId: material.user1 
             createDateTime: material.create_datetime 

      # set the controllers content to the item 
      @set('content') item 
相關問題