2012-07-10 16 views
6

Yetkili veri kullanıyorum ve yerleşik bir tarih türü nesnesi var. Ben bu tarih seçici (Twitter bootstrap bileşenleri üzerine inşa edilmiş) kadar takılıyorum. Sorun, tarih nesnesini depolamak için giriş etiketinde bir tarih özniteliği oluşturduğumdur. Tarih nesnesi, uzun bir dizgi olarak depolanıyor. Bu, bir şekilde bir tarih nesnesine ayrıştırılmalı ve daha sonra App.store'a depolanmalıdır. Bu dönüşümü nerede yaparım? Şimdiye kadar yaptığım bu.Ember Veri tarihi bağlama

App.DatePicker = Ember.View.extend({ 
    classNames: ['ember-text-field','input-small'], 
    tagName: "input", 
    attributeBindings: ['data','value','format','readonly','type','size'], 
    size:"16", 
    type: "text", 
    format:'mm/dd/yyyy', 
    value:function(){ 
     var date = this.get('data'); 
     if(date) 
      return date.format(this.get('format')); 
     else 
      return ""; 
    }.property('data'), 
    data:null, 
    didInsertElement:function(){ 
     this.$().datepicker({ 
      format:this.get(this.get('format')) 
     }).on('changeDate', function(ev){ 
      console.log(ev.date); 
      console.log(ev.target); 
      ev.target.setAttribute('data',ev.date); 
     }); 
    } 
}); 

Ben tarih değiştirildiğinde tarih özellik ayarlanır bu

{{view App.DatePicker dataBinding="staff.emp_edate" format="mm/dd/yyyy"}} 

gibi görünüm şablonunda onu kullanıyorum, tarih özellik hangi staff.emp_edate binded değiştirdi oluyor . Ne yazık ki, staff.emp_edata değişmiyor.

Herhangi bir işaretçi çok yardımcı olacaktır.

cevap

8

Aşağıdakileri deneyin:

Fiddle: http://jsfiddle.net/ppanagi/9rCBL/

App.DatePicker = Ember.View.extend({ 

    // ... leave the rest as is 

    didInsertElement: function(){ 
    var self = this; 

    var onChangeDate = function(ev) { 
     self.set('data', ev.date); 
    }; 
    var format = this.get('format'); 

    this.$().datepicker({ format: format }) 
     .on('changeDate', onChangeDate); 
    } 
}); 
+0

hata TypeError verir: 'tanımsız' bir işlev (değerlendirirken 'self.set (' data', ev değildir. date) ') –

+0

Eğer keman yapabiliyorsan neyin yanlış olduğunu anlayabiliyorum –

+0

http://jsfiddle.net/P8usP/1/ –