Мне сложно понять arrayController и ObjectController в Ember (по крайней мере, я думаю, что это точка.) Я работаю с ArrayController, и мне нужно получить моделировать и модифицировать его. (Взять сегодня модель и сделать для того, чтобы выяснили, сколько дней в месяц), но каждый раз, когда я делаю:Ember ArrayController this.get не работает
this.get("today")
ничего не случится. Что из документации, вот как это должно быть вызвано.
Если посмотреть на другой, например, большинство людей используют ObjectController, поэтому я попробовать с этим один тоже, но я получил сообщение об ошибке жалуясь цикл #each я использую нужен ArrayController
Вот мой код до сих пор:
// Router
WebCalendar.Router.map(function() {
this.resource('index', {path: '/'}, function() {
this.resource("cal", {path: '/'});
this.resource("location", {path: '/location'});
this.resource("organization", {path: '/organization'});
});
});
WebCalendar.CalRoute = Ember.Route.extend({
model: function(){
return this.store.find('dates');
}
});
// Модель
WebCalendar.Dates = DS.Model.extend({
today: DS.attr('date'),
month: DS.attr('date'),
year: DS.attr('date'),
daysName: DS.attr('array'),
daysInMonth: DS.attr('array')
});
WebCalendar.Dates.FIXTURES = [
{
id: 1,
today: moment().format('MMMM Do YYYY, h:mm:ss a'),
month: moment().format('MMM'),
year: moment().format('YYYY'),
daysName: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
daysInMonth: [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ]
}
];
// CalController
WebCalendar.CalController = Ember.ArrayController.extend({
getMonthDays: function(){
return this.get("today");
}.property('today')
});
// Cal Рули
<table>
{{#each date in controller}}
<tbody id="table">
<tr id="year">
<td>{{date.year}}</td>
</tr>
<tr>
<td id="prev-month"> Prev </td>
<td id="month">{{date.month}}</td>
<td id="next-month"> Next </td>
</tr>
<tr id="days-of-week">
{{#each date.daysName}}
<td>{{this}}</td>
{{/each}}
</tr class="days">
<tr>{{getMonthDays}}</tr>
</tbody>
{{/each}}
</table>
Мои вопросы:
Почему this.get метод не работает? Документация здесь: http://emberjs.com/api/classes/Ember.ArrayController.html#method_get
Правильно, что я использую ArrayController в этой конкретной ситуации?
Почему я не могу использовать #each loop с ObjectController?
Можем ли мы увидеть маршрут, включая '' model' и setupController' крючками? –
Да, только что добавил. Я не использую setupController вместо store.find() –
Каковы симптомы? –