서버가 데이터를 반환 한 직후 사용자 정의 날짜 형식으로 타임 스탬프를 변환하려고합니다. Ext.data.field에서 "convert"를 사용하려고했습니다 : http://docs.sencha.com/ext-js/4-1/#!/api/Ext.data.Field-cfg-convertExtJS4.1 모델에서 타임 스탬프를 사용자 지정된 날짜 형식으로 변환하는 방법은 무엇입니까?
하지만 제대로 만들 수 없습니다. 이것은 내 모델입니다.
Ext.define('AM.model.Comment',{
extend: 'Ext.data.Model',
fields: [
{ name: 'createdTime', type: 'date', convert:function(v,record){record.parseDate(v,record);}}, // datetime
],
proxy: {
type: 'rest',
url:'../comments',
writer:{
type:'json'
},
reader: {
type: 'json'
}
},
parseDate:function(v,record){
console.log(v); //show 1347465600000
console.log(Ext.Date.format(new Date(v), 'Y-m-d')); //show 2012-09-13
return Ext.Date.format(new Date(v), 'Y-m-d');
}
});
로드 후, 나는 방화 광을 점검하고 "createdTime"필드가 "정의되지 않음"임을 알았습니다. 누군가 내 실수를 지적 할 수 있습니까? 감사!
"변환"을 사용하지 않고도 다른 구성 요소에 Ext.Date.format(new Date(v), 'Y-m-d')
을 사용하면됩니다. 그러나 나는 그것을 모델에서하는 것이 더 나을 것이라고 생각한다. 그런 다음 모든 구성 요소는 항상 올바른 날짜 형식을 쿼리로 읽을 수 있습니다.
을해야 당신의 변환에 수익을 누락? –
음 ... createdTime을 가져올 때 다른 구성 요소가 Y-m-d 문자열을 읽고 서버에 새 주석을 게시 할 때 날짜 형식을 쓰길 원합니다. – Amy
즉, 구성 요소는 createTime을 문자열로 액세스하고, 서버는 날짜 객체로 액세스합니다. – Amy