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