неявная загрузка () в сенсорном магазине sencha - PullRequest
0 голосов
/ 09 января 2020

У меня есть сенсорное хранилище sencha, определяемое просто моделью и autoLoad = false. Модель имеет только поля в конфигурации, так что я думаю, что данные хранятся в памяти, глобальной для приложения, я прав? (Я новичок в sencha)

    Ext.define('App.store.DataSession', {
        extend: 'Ext.data.Store',
        requires: ['App.model.DataSession'],

        config: { 
            model: 'App.model.DataSession',
            autoLoad: false
        } 

    }); 

Мой вопрос заключается в том, что я вижу код, который явно не загружает данные из хранилища, даже если в хранилище есть автозагрузка false

    var storesession = Ext.getStore('DataSession');
    var datasession = storesession.getAt(0);                
    if(datasession.get('state') == "1"){
    ....

функция getStore () загружает данные неявно? Каковы последствия не использования load ()?

1 Ответ

0 голосов
/ 09 января 2020

getStore() получает ссылку на магазин. Если вы хотите загрузить данные, вы должны, например:

var storesession = Ext.getStore('DataSession');
storesession.load({
    params: {
        id: 1 // some parameters
    },
    callback: function(records, operation, success) {  
        if(success) {
           var datasession = storesession.getAt(0);                
           if(datasession.get('state') == "1") {
            ....
        }
    }
});

Посмотрите здесь: https://docs.sencha.com/extjs/7.0.0/modern/Ext.data.Store.html

...