//In view i have created one list with item tpl. below is the code
{
xtype:'list',
id:'userReviewList',
title:'User Review',
store:'UserReviewStore',
height:300,
itemTpl:'<div >{Comment}</div>' + '<div >{Rating}</div>' + '<div >{ReviewId}</div>'
}
//我正在为数据部分中的硬编码值创建模型。
Ext.define('AppName.store.UserReviewStore',{
extend:'Ext.data.Store',
id:'reviewStore',
config:{
fileds:[
{name:'Comment',type:'string'},
{name:'Rating', type:'int'},
{name:'ReviewId',tyep:'int'}
]
},
data: [
{ Comment: 'nice', Rating: 5, ReviewId: 1 },
{ Comment: 'cool', Rating: 4, ReviewId: 2 },
{ Comment: 'awesome', Rating: 3, ReviewId: 3 }
]
})
//我可以在列表视图中显示数据,但我需要使用本地存储数据在列表中显示。 Bellow是我获取本地存储数据的代码,我的同事在应用程序启动时存储,所以现在我必须从本地存储中检索数据并需要绑定到商店
var retrievedObject = localStorage.getItem('testObject');//getting local storage
var jsonObj = Ext.decode(retrievedObject);//decoding
在此解码后,我将获得一个值列表,如
var list = jsonObj.userReviewList
我需要绑定此列表来存储如何执行此操作。我应该写逻辑来绑定到商店
答案 0 :(得分:0)
在激活,显示或初始化列表时在控制器中。一些代码可以帮助您理解我的意思:
Ext.define('MyApp.controller.Main', {
extend: 'Ext.app.Controller',
config: {
refs: {
myList: '#userReviewList'
},
control: {
myList: {
activate: 'onMyListActivate'
},
}
},
onMyListActivate: function(me) {
var retrievedObject = localStorage.getItem('testObject');//getting local storage
var jsonObj = Ext.decode(retrievedObject);//decoding
var list = jsonObj.userReviewList
me.getStore().setData(list);
}
});