Запись теряет свой магазин - PullRequest
0 голосов
/ 23 марта 2012

Я создаю класс с записью extjs в конфиге. Я держу ссылку на эту запись. При создании экземпляра класса я ожидал записи, и это совершенно нормально.

Позже, в одном из методов объекта я пытаюсь использовать эту запись. Совершенно неожиданно запись потеряла свою ссылку на магазин. Кроме этого, запись выглядит хорошо с правильными данными.

Я взломал ситуацию, сохранив ссылку на магазин на этапе инициализации:

this.store = this.recordLoosingItsStore.store;

И позже я могу получить свою запись так:

var recordOK = this.store.getById( this.recordLoosingItsStore.getId() );

Может кто-нибудь поделиться своим мнением о том, что происходит и где исчезает мой record.store? Как я могу отладить это легко? Я пытался дать совет для события магазина данных, но это не дало никаких положительных результатов.

Ответы [ 2 ]

2 голосов
/ 23 марта 2012

Если вы проверяете документацию, в ней говорится, что экземпляр записи может принадлежать только экземпляру магазина одновременно. Возможно ли, что вы назначаете его другому хранилищу в любой точке вашего кода, а затем уничтожаете это другое хранилище? В этом случае использование метода .copy при назначении записи другому хранилищу должно решить проблему.

Подробнее: http://docs.sencha.com/ext-js/3-4/#!/api/Ext.data.Record

1 голос
/ 23 марта 2012

Трудно сказать, где он теряет, не глядя на ваш код. Попробуйте опубликовать код здесь. Если он слишком большой - попробуйте извлечь места, где вы сначала загружаете запись, а затем все места, где вы что-то делаете, с магазином / записью.

...