Javascript-форум (https://javascript.ru/forum/)
-   ExtJS (https://javascript.ru/forum/extjs/)
-   -   Каким образом чужой reader попал в Store??? (https://javascript.ru/forum/extjs/67098-kakim-obrazom-chuzhojj-reader-popal-v-store.html)

khusamov 29.01.2017 00:58

Каким образом чужой reader попал в Store???
 
В одном месте я создал хранилище:

store: Ext.create("Ext.data.Store", {
			fields: ['month', 'pay'],
			data: [
				{ month: 'Июль', pay: 5763  },
				{ month: 'Август', pay: 9335  },
				{ month: 'Сентябрь', pay: 0  },
				{ month: 'Октябрь', pay: 3531  },
				{ month: 'Ноябрь', pay: 2456  },
				{ month: 'Декабрь', pay: 10858 }
			]
		})


оно нормально себе работало до тех пор, пока я в базовой модели не прописал схему:

Ext.define("Pir.core.model.Base", {
	schema: {
		proxy: {
			type: 'soap',
			...
			reader: {
				type: 'soap',
				record: 'ns3|result',
				namespace: 'ns3'
			}
		}	
	}
});


И получил ошибку TypeError: Cannot read property 'prefix' of undefined
Собственно не важен текст ошибки. После анализа при помощи override

Ext.define('Reader1', {
    override: 'Ext.data.soap.Reader',
    
	
    getData: function(data) {
		console.log(data)
		return this.callParent(arguments);
    }
});


я узнал, что в мое хранилище (выше указанное с месяцами) проник ридер из этой схемы!!!

Как так вышло и что теперь делать? Весь код развалился.

khusamov 29.01.2017 01:04

Временно решил проблему прописанием прокси в безымянном хранилище

proxy: {
				type: 'memory',
				reader: {
					type: 'json'
				}
			},


Но как-то не по себе от того, что непонятно как туда попал чужой ридер.

Хотелось бы услышать теоретические выкладки как такое могло произойти?


Часовой пояс GMT +3, время: 16:12.