MVC 아키텍처로 설명하는 YQL에 대한 블로그 나 예제를 찾고 있습니다. 부엌 싱크대의 예를 이해하는 것이 어렵다고 느낍니다. 어느 누구도 YQL에서 간단한 MVC를 공유 할 수 있습니까? 그래서 다른 사람들에게도 도움이 될 것입니다.YQL in sencha touch MVC
0
A
답변
3
저는 YQL에 대해 모르지만, 기본적으로 일부 원격 API에 대한 요청 인 user3849047 링크를 기반으로합니다. 통합은이 초안보다 조금 까다 롭습니다.
기본적으로 이것이 작동하는 방법입니다.
API 호출로부터 데이터를 얻을 수 있습니다. 이 데이터는 Ext.data.Model로 표현 될 수 있습니다. 한 무리의 모델이 구성되어 Ext.data.Store에 저장됩니다.
그래서 저장소를 채우는 것만으로도 충분합니다. 두 가지 방법이 있습니다.
는 컨트롤러에서 그것을 수행Ext.create("Controller", {
extend: "Ext.app.Controller",
getStoreData: function() {
var me = this;
Ext.data.JsonP.request({
url: "yqlRequestUrl",
params: {
// request parameter
},
success: function (result, request) {
me.fillStore(result);
}
});
},
fillStore: function (result) {
var data = transformResultIntoModels(result);
var store = Ext.getStore("myStore");
store.add(data);
}
});
당신은 API 요청 및 모든 스스로 모델에 응답의 변환을 실행합니다.
또는 상점은 당신을 위해 그것을 할 수 있도록이 저장소가 autoLoad: false
로 설정되어
Ext.define("MyStore", {
extend: "Ext.data.Store",
autoLoad: false,
storeId: "mystore",
model: "MyModel",
proxy: {
type: "jsonP",
url: "yqlRequestUrl",
extraParams: {
// request parameter
},
reader: {
type: "json",
rootProperty: "yourRootElement"
}
}
});
때문에 당신은 내가 YQL에서 저장소를 사용하여 생각
store.load({
callback: function (records, operation, success) {
},
scope: this
});
마틴 덕분에 수동으로 저장소를로드해야합니다 다를 수 있습니다. –