2012-05-21 6 views
2

В моем контроллере я хочу получить случайную запись из localstorage и отобразить в представлении, как я могу это сделать?Sencha Touch 2 получить запись

В моей конфигурации у меня есть:

stores: ['Items'] 

В моей функции у меня есть:

var mystore = (this.getStores())[0]; 
var index = this.getRandomInt(0, mystore.totalCount() -1); 
var nextItem = mystore.getAt(index); 

, но он застрял на первой линии

Может быть, есть более простой способ?

+0

Что означает 'this' в вашем коде? Если вы застряли в первой строке, попробуем зарегистрировать, что возвращает 'getStores' для получения более подробной информации. Боюсь, что вы предоставили недостаточно. –

ответ

0

Поскольку ваш магазин называется «Items» я бы:

var mystore = Ext.getStore('Items'); 

является наиболее надежным способом получить экземпляр магазина.

1
mystore.totalCount() 

должен быть

mystore.getCount() 
0

Вот функцию вам следует использовать

var getRandomRecord = function(store){ 
    var s = Ext.getStore('store'); 
    var r = s.getAt(Math.floor(Math.random()*(s.getCount()-1))); 
    return r; 
} 

И вы называете это так:

var randomRecord = getRandomRecord('Items'); 

Надеется, что это помогает