Показать сообщение отдельно
  #4 (permalink)  
Старый 15.07.2014, 18:23
Профессор
Отправить личное сообщение для novikov Посмотреть профиль Найти все сообщения от novikov
 
Регистрация: 19.11.2012
Сообщений: 178

Попробовал разобраться, но не проверял...
{
    rootProperty: "{entityName:lowercase}"
}

По частям:

rootProperty - имя ключа в приходящем с сервера JSONe, который содержит массив данных/записей/строк. В нашем случае - "layout.tabs".

entityName - название модели, причём урезанное. От полного имени класса модели отрезается первая часть, которая указана в нашем случае здесь:

{
    schema: {
         namespace: 'Communication.model'
    }
}


Т.е.: "Communication.model.layout.Tabs" - 'Communication.model' = "layout.Tabs"



lowercase - имя функции для преобразования имени модели. Ожидаем, что из урезанного имени модели "layout.Tabs" в результате этого преобразования получится ключ в присылаемом с сервера JSONe "layout.tabs".

Смотрите подробнее в разделе "Relative Naming": Ext.data.schema.Schema
В нашем случае, неймер в schema не указан, используется дефолтный.

С этой точки зрения, код написан верно и должен работать.

Меня насторожили некоторые вещи. Например, в исходниках Ext.data.schema.Namer я не обнаружил lowercase. Там только присутствуют: undotted, uncapitalize, pluralize, underscore, singularize. Может в этом дело?
Ответить с цитированием