2013-05-14 73 views
0

我有自定義屬性(對象數組)的模型。像這樣我可以更改靜止模型狀態而不使用.set()

App.Adapter.registerTransform('images', { 
    serialize: function(value) { 
     var ret = [] 
     value.forEach(function(img){ 
      ret.pushObject(img.get('uuid')) 
     }) 
     if (ret.get('length')) { 
      return ret.join(',') 
     } else 
     return false 
    }, 
    deserialize: function(value) { 
     ret = []  
     if (typeof value !== 'undefined') { 
      uuids = value.split(',') 
      for (var i = 0; i < uuids.length; i++) { 
       var id = uuids[i] 
       ret.pushObject(App.Image.create({'uuid': id})) 
      } 
     } 
     return ret 
    } 
}) 

和我的模型。

App.Item = DS.Model.extend({ 
    … 
    images:   DS.attr('images') 
}) 

在控制器中我需要提交數據,在此屬性推送更改後。我需要爲這個案子做些什麼?

uploadImage: function(){ 
    var self = this 

    uploading.done(function(result) { 
      self.get('images').pushObject(App.Image.create({uuid:result.uuid})) 
      console.log(self.get('isDirty')) // false 
      self.get('store').commit() //nothing to change 
    }).fail(function(result) { 
    … 
    }).always(function() { 
    … 
    }) 
}, 

回答

0

您是否試過這樣做?

self.notifyPropertyChange('images'); 
相關問題