Javascript-форум (https://javascript.ru/forum/)
-   ExtJS (https://javascript.ru/forum/extjs/)
-   -   Справочная система ExtJS (https://javascript.ru/forum/extjs/30719-spravochnaya-sistema-extjs.html)

progrmax 13.08.2012 15:43

Справочная система ExtJS
 
Здравствуйте, в ExtJS я новый человек, раньше программировал на компилируемых языках, сейчас начал изучать JavaScript и ExtJS. Возник вопрос, когда я начал разбирать пример.

объявляю хранилище

Ext.define('AM.store.Users', {
    extend: 'Ext.data.Store',
    model: 'AM.model.User',
    autoLoad: true,

	proxy: {
		type: 'ajax',
		api: {
			read: 'data/users.json',
			update: 'data/updateUsers.json'
		},
		reader: {
			type: 'json',
			root: 'users',
			successProperty: 'success'
		}
	}
});


Правильно ли я все понимаю:
1. Объявляю объект AM.store.Users
2. У него есть свойство proxy (через наследование "протянулось")
3. Этому свойству я присваиваю литерал объекта, который должен соответствовать "классу" Ext.data.proxy.Proxy

Так вот вопрос: В справке по Ext.data.proxy.Proxy я не вижу свойства type (которое в данном случае выставляется в "ajax"). Где посмотреть описание? или я что-то не понимаю? укажите направление.

Заранее спасибо!

Eugent 13.08.2012 17:02

Если кратко - у каждого элемента папки "Ext/data/proxy" в API ExtJS в верхней строке справа от полного названия прокси написано "proxy: XXXX". XXXX - это и есть type.
Например - "Ext.data.proxy.Memory proxy: memory", type - это memory

progrmax 13.08.2012 17:44

Да, верно, вижу ... Спасибо.

P.S. Но для меня остается открытым вопрос почему все остальные поля описаны в документации - api, model и т.д., а это нет, не понятно мне пока. Наверное об этом рассказывается в каких-то общих разделах.

Ex_Soft 13.08.2012 18:12

Наверное они посчитали достаточным параграф Types of Proxy
Ну, и:
Цитата:

Сообщение от http://docs.sencha.com/ext-js/4-1/source/AbstractStore.html#Ext-data-AbstractStore-method-setProxy
...
    setProxy: function(proxy) {
        var me = this;

        if (proxy instanceof Ext.data.proxy.Proxy) {
            proxy.setModel(me.model);
        } else {
            if (Ext.isString(proxy)) {
                proxy = {
                    *!*type*/!*: proxy
                };
            }
            Ext.applyIf(proxy, {
                model: me.model
            });

            proxy = Ext.createByAlias('proxy.' + proxy.*!*type*/!*, proxy);
        }

        me.proxy = proxy;

        return me.proxy;
    }
...

вдобавок...

progrmax 15.08.2012 09:50

Спасибо. Буду курить исходники :write:

Ex_Soft 15.08.2012 10:35

/me вспоминает:
;)


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