2013-04-20 74 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 
相关问题