2013-09-16 5 views
0

в arrayVals У меня есть данные, которые я получил из хранилища, когда он загрузился, теперь я хочу заполнить эти данные из arrayVals в пунктах меню ... if я называю me.items.push вне метода нагрузки он отлично работает с фиктивными данными, но, когда я называю его в методе нагрузки я не подвожу ошибку т.е. Object [объект Object] имеет никакого метода «толчок»ExtJS вызывает me.items.push в store.load() не работает

items = []; 
var arrayVals = []; 
me.getUserCompanyLogStore().load({ 
    callback: function (records, operation, success) { 
    success: { 
     Ext.Array.each(records, function (record, index, array) { 
     arrayVals.push(record.get("company")); 
     }); 
     Ext.Array.each(arrayVals, function (record, index, array) { 
     console.log(arrayVals) 
     me.items.push({ // Object [object Object] has no method 'push' 
      xtype: 'main-header-nav-FavoriteItem', 
      text: record 
     }); 
     }); 
    } 
    } 
}); 

ответ

2

Вы не предоставили полную информацию, но это наиболее вероятный сценарий:

К моменту загрузки магазина items больше не представляет собой набор параметров конфигурации, поскольку контейнер уже обработал их. Вместо этого вам нужно позвонить me.add(), так как элементы теперь являются MixedCollection, и этап обработки конфигурации прошел.

+0

Спасибо за отличный ответ ... он отлично работал ... :) –

+0

Но есть пункты в Меню 1) Частые 2) Последние 3) Избранные И я хочу показать загруженные данные под Частым .. . Используя ваше решение, данные заполняются отлично, но загружаются в «Избранное» ... –

+0

Прочитайте документы для контейнера, есть метод «insert». –

0

Вы могли бы попробовать это нравится:

var items = []; 
var arrayVals = []; 
var self = this; 
me.getUserCompanyLogStore().load({ 
    callback: function (records, operation, success) { 
    success: { 
     Ext.Array.each(records, function (record, index, array) { 
     arrayVals.push(record.get("company")); 
     }); 
     Ext.Array.each(arrayVals, function (record, index, array) { 
     console.log(arrayVals) 
     self.items.push({ // Object [object Object] has no method 'push' 
      xtype: 'main-header-nav-FavoriteItem', 
      text: record 
     }); 
     }); 
    } 
    } 
}); 
+0

Повторяя ту же ошибку .... –

+0

Вы создаете 'items' с ключевым словом' var'? – fujy

Смежные вопросы