Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.07.2013, 11:14
Новичок на форуме
Отправить личное сообщение для Pro100tom Посмотреть профиль Найти все сообщения от Pro100tom
 
Регистрация: 22.07.2013
Сообщений: 9

myStore.load();
Проблема во в чем. Сначала я использую метод
myStore.load();
Потом я хочу удалить, (и удаляю) некоторые записи при помощи метода
myStore.removeAt(2);
Но ничего не удаляется. Если я комментирую метод
myStore.load();
, тогда все там нормально удаляется. Ну а данные, емае, перезагрузить то перед тем как удалять что-то, тоже нужно, блин!
Ответить с цитированием
  #2 (permalink)  
Старый 30.07.2013, 14:27
Профессор
Отправить личное сообщение для novikov Посмотреть профиль Найти все сообщения от novikov
 
Регистрация: 19.11.2012
Сообщений: 178

Какой proxi задан и зада(л)н ли в определении класса myStore?

Последний раз редактировалось novikov, 30.07.2013 в 18:05. Причина: исправлена опечатка
Ответить с цитированием
  #3 (permalink)  
Старый 30.07.2013, 16:53
Новичок на форуме
Отправить личное сообщение для Pro100tom Посмотреть профиль Найти все сообщения от Pro100tom
 
Регистрация: 22.07.2013
Сообщений: 9

Ext.define('WD.store.SecondStore', {
    extend: 'Ext.data.Store',
    model: 'WD.model.Admin',  
    autoLoad: true,     
    storeId: 'ttt',
    proxy: {
        type: 'ajax',
        api: {
            read: 'data/users3.json',
            update: 'data/updateUsers3.json'
        },
        reader: {
            type: 'json',
            root: 'users3',
            successProperty: 'success'
        }
    }
});
- это файл store. А второго вопроса не понял.
Ответить с цитированием
  #4 (permalink)  
Старый 30.07.2013, 18:04
Профессор
Отправить личное сообщение для novikov Посмотреть профиль Найти все сообщения от novikov
 
Регистрация: 19.11.2012
Сообщений: 178

в прокси не определён метод api - destroy. Может быть связано с этим?
Ответить с цитированием
  #5 (permalink)  
Старый 30.07.2013, 18:12
Новичок на форуме
Отправить личное сообщение для Pro100tom Посмотреть профиль Найти все сообщения от Pro100tom
 
Регистрация: 22.07.2013
Сообщений: 9

Не, с этим не связано скорее всего. Так трудно, блин разобраться с этим всем. Я теперь пытаюсь вместо load и removeAt вообше фильтровать, но там еще больше проблем...
Ответить с цитированием
  #6 (permalink)  
Старый 03.08.2013, 21:13
Новичок на форуме
Отправить личное сообщение для a_mariner Посмотреть профиль Найти все сообщения от a_mariner
 
Регистрация: 03.08.2013
Сообщений: 2

Можете показать весь пример, вместе с proxy?

Вообще, у load() достаточно подводных камней. Можно использовать и loadData, если данные у вас уже имеются, скажем, в виде массива. Вот так всё работает:

store.loadData(myData);
store.removeAt(0);
Ответить с цитированием
  #7 (permalink)  
Старый 07.08.2013, 16:50
Профессор
Отправить личное сообщение для siber-biber Посмотреть профиль Найти все сообщения от siber-biber
 
Регистрация: 07.08.2013
Сообщений: 214

Сообщение от Pro100tom Посмотреть сообщение
Проблема во в чем. Сначала я использую метод
myStore.load();
Потом я хочу удалить, (и удаляю) некоторые записи при помощи метода
myStore.removeAt(2);
Но ничего не удаляется. Если я комментирую метод
myStore.load();
, тогда все там нормально удаляется. Ну а данные, емае, перезагрузить то перед тем как удалять что-то, тоже нужно, блин!
1) Как вы определили что запись не удаляется?
После вызова myStore.removeAt() проверьте в консоли содержимое массива myStore.getRemovedRecords() там должна быть удаленная запись.

2) Вы пишите что если удаляете вызов myStore.load() то все работает. Как это вообще может быть? Последовательность работы с данными в extjs сторах:
а) загрузили в стор с помощью load() либо loadData() либо прямо через конструктор стора.
б) редактируем в сторе
в) вызываем sync() чтоб данные ушли на сервер

Т.е. без вызова load() данных как-бы нет
Так что что-то у вас фундаментально не в той последовательности вызывается возможно.. короче нужен тест кейс подетальнее ..включающий ваш вызов load().

3) Ну и у вас действительно не определен url для обработки удаления записи сервером. Надо его описать чтото типа такого, только свой url впишите:
...
	    proxy: {
	        type: 'ajax',
	        api: {
	            read: 'data/users3.json',
	            update: 'data/updateUsers3.json',
	            destroy: 'data/dropUsers.json'
	        },
...

Пока вроде все что вижу. Удачи.

Последний раз редактировалось siber-biber, 08.08.2013 в 06:29.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск