У меня большая проблема с настройкой концепции магазина / модели.
У меня есть модели / магазин
app.models.User = Ext.regModel('app.models.User', {
fields: [
{name: 'id', type: 'int'},
{name: 'userID', type: 'string'},
{name: 'userName', type: 'string'}
],
associations: [
{type: 'hasMany', model: 'app.models.Friend', name:'friends', associationKey:'friends'},
]
});
app.models.UserFriendsList = Ext.regModel('app.models.UserFriendsList', {
fields: [
{name: 'id', type: 'int'},
{name: 'userID', type: 'string'},
{name: 'userName', type: 'string'}
],
belongsTo: 'app.models.User',
associations: [
{type: 'hasMany', model: 'app.models.Friend', name: 'friend'}
]
});
app.models.Friend = Ext.regModel('app.models.Friend', {
fields: [
{name: 'id', type: 'int'},
{name: 'userID', type: 'string'},
{name: 'userName', type: 'string'}
],
belongsTo: 'app.models.UserFriendsList',
});
app.stores.userStore = new Ext.data.Store({
model: 'app.models.User',
data:[
{
"id": "01",
"userName": "Username"
"friends": [
{ "id": "02",
"userName": "Friend 1"
},
{ "id": "03",
"userName": "Friend 2"
},
]
}
]
});
Затем я использую
var currentUser = app.stores.User.getAt(0);
console.log(currentUser);
var friends = currentUser.friends().getAt(0);
console.log(friends);
отследить некоторую отладочную информацию о загруженном в данный момент пользователе.
Когда я использую параметр associationKey без параметра name, трассировка показывает, что данные правильно извлекаются в часть данных отслеживаемой части.объект 'currentUser'.Но нет функции friends () для использования.Я получаю только ошибку
TypeError: Result of expression 'currentUser.friends' [undefined] is not a function.
Когда я использую параметр 'name' без параметра 'associationKey' (или обоих параметров), функция экземпляраfriends () создан, но данные не извлекаются в объект, поэтому я не могу его использовать.
Что не так с моим кодом?Или где мое недопонимание концепции?
THNX !!!
РЕДАКТИРОВАТЬ: пожалуйста, посмотрите мои файлы: http://www.box.net/shared/n4h3rdp1499ihx990v3h