Мне интересно, как объекты с инжектированными объектами находятся в контроллерах.Масштабы зависимостей от впрыска Ember в контроллерах
Say создать сервис возвращает массив дней в месяцах, и я зарегистрировать его и ввести его в контроллер называется BookingsController, как так
Todos.Bookingmonth = Ember.Object.extend({
currMonth: 1,
currYear : 2014,
names : [ 'sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat' ],
//
setCurrMonthYear: function(currMonth, currYear){
//
this.currMonth = parseInt(currMonth, 10);
this.currYear = parseInt(currYear, 10);
},
//
getDaysArray : function() {
//
var date = new Date(this.currYear, this.currMonth - 1, 1),
days = [];
while (date.getMonth() === this.currMonth - 1) {
//
days.push({num : date.getDate(), name : this.names[date.getDay()]});
date.setDate(date.getDate() + 1);
}
//
return days;
}
});
Todos.register('bookingmonth:main', Todos.Bookingmonth);
Todos.inject('controller:bookings', 'bookingmonth', 'bookingmonth:main');
Todos.BookingsController = Ember.ArrayController.extend({
title : "Bookings listing",
monthDays : this.get('bookingmonth').getDaysArray(),// this.get is undefined!!
actions: {
}
});
Причина я хочу сделать это, потому, что Мне нужно получить доступ к n массиву дат в моем шаблоне Bookings, но это не связано с логикой приложения, и оно не относится к основным данным модели (кстати, это привязка заказов). Я просто хотел, чтобы создать массив в мой контроллер и присвоить его свойству (в соответствии с выше кода), затем цикл его в шаблоне, например, так
<ul id="month-bookings-slots">
{{#each slot in monthDays}}
<li>SLOT</li>
{{/each}}
</ul>
Я знаю, что я мог бы переместить в то время как даты логики от сервис в сам контроллер, как «частный» метод контроллера, и, вероятно, тогда будет легче назначить свой возвращенный массив дат для общего свойства контроллера, но он хотел попробовать и сделать это через службу, поскольку он кажется лучше для логического разделения
Может быть, я немного запутался в объеме инъецируемых зависимостей, было бы здорово услышать, что мне не хватает/какое-либо предложение. Спасибо