1. 개요
웹앱은 네트워크의 영향을 많이 받기 때문에 속도에 민감할 수 밖에 없다. 그래서 서버에서 받은 데이터를 클라이언트 측에서 저장하고 관리해야 한다. 또한 웹앱에서 동일한 데이터를 서버에서 재요청하게 되면, 불필요한 트래픽이 발생하기 때문에 캐쉬에 저장되어 있는 데이터를 활용해야 하는데 'Ext.data.Store' 에서 그러한 메커니즘을 제공해 준다.
2. 구현
Ext.require("Ext.data.Store");
Ext.require("Ext.List");
Ext.application({
name:"MyStore",
launch: function(){
// 모델에서 관리할 필드정의
Ext.define("User",{
extend: "Ext.data.Model" ,
config:{
fields:[
{ name:"firstName",type:"string" },
{ name:"lastName",type:"string" },
{ name:"age",type:"int" },
{ name:"eyeColor",type:"string" }
]
}
});
// 스토리지
var myStore = Ext.create("Ext.data.Store", {
model: "User",
proxy: {
type: "ajax",
url : "./data/ex1_store.json",
reader: {
type: "json",
rootProperty: "users"
}
},
autoLoad: true
});
Ext.create("Ext.List", {
fullscreen: true,
store: myStore,
itemTpl: "{lastName}, {firstName} ({age})"
});
}
});
//----- json 파일명 : ex1_store.json
{
"success": true,
"users": [
{
"firstName": "Tommy",
"lastName": "Maintz",
"age": 24,
"eyeColor": "green"
},
{
"firstName": "Aaron",
"lastName": "Conran",
"age": 26,
"eyeColor": "blue"
},
{
"firstName": "Jamie",
"lastName": "Avins",
"age": 37,
"eyeColor": "brown"
}
]
}
'센차터치2.0' 카테고리의 다른 글
하이브리드 앱 센차터치2.0 - XTemplate 화면구성 (0) | 2013.06.27 |
---|---|
하이브리드 앱 센차터치 2.0 - 데이터 관리 : JsonP 객체 (0) | 2013.05.15 |
하이브리드 앱 센차터치 2.0 - Object의 xtype 속성 (0) | 2013.05.08 |
하이브리드 앱 센차터치 2.0 - 슬라이드 애니메이션 (0) | 2013.05.07 |
하이브리드 앱 센차터치 2.0 - 탭 패널의 이해 (0) | 2013.05.05 |