Я только начинаю изучать Angular и работаю с курсом Джона Папы по Pluralsight, чтобы попытаться разобраться в этом. У меня возникла проблема с привязкой некоторых данных к странице, и оказалось, что это неправильный регистр.
Я имел:
<small>{{s.timeslot.name}}</small> at <small>{{s.room.name}}</small>
когда я должен был:
<small>{{s.timeSlot.name}}</small> at <small>{{s.room.name}}</small>
Это хорошо, но я просто не могу понять, почему.
Данные возвращаются из веб-API с помощью этого метода (обратите внимание на отсутствие верблюжьего регистра во временных интервалах):
[HttpGet]
public object Lookups()
{
var rooms = _repository.Rooms;
var tracks = _repository.Tracks;
var timeslots = _repository.TimeSlots;
return new { rooms, tracks, timeslots };
}
Служба angular, называемая datacontext.js, имеет следующий объект для сопоставления (по крайней мере, насколько я понимаю) имен веб-API и имен объектов Breeze.
var entityNames = {
attendee: 'Person',
person: 'Person',
speaker: 'Person',
session: 'Session',
room: 'Room',
track: 'Track',
timeslot: 'TimeSlot'
}
Есть некоторые дополнительные функции, которые включают кэширование данных и расширение модели на клиенте, но нигде нет ссылки на timeSlot (с camelCase).
Что здесь происходит? Применяется ли Angular к соглашению об обложке HTML?
РЕДАКТИРОВАТЬ: Спасибо Уорду за ответ. Для всех, кто следует тому же курсу и имеет аналогичный вопрос, breeze.NamingConvention.camelCase.setAsDefault() вызывается в entityManagerFactory.js.