Это довольно простой, но по какой-то причине я не могу заставить его работать.Как мне получить доступ к модели в контроллере?
Я создал ресурс фирмы:
App.Router.map(function() {
this.resource('companies');
});
и конкретизирована модель
App.Company = DS.Model.extend({
name: DS.attr('string'),
});
App.CompaniesRoute = Ember.Route.extend({
model: function() {
return App.Company.find();
}
});
У меня есть некоторые Светильники для тестовых данных.
Теперь, не должен ли я иметь доступ к моим данным companies
с контроллера? Как это
App.CompaniesController = Ember.ArrayController.extend({
length: function() {
return this.get('length');
}.property(),
});
Я получаю 0, и все, что я пытался в этой функции заставляет меня думать, что как-то контроллер не получает загружены данные - даже если я могу перебрать модели в мой шаблон, как это:
<script type="text/x-handlebars" data-template-name="companies">
<div class="row">
<div class="span12">
<h3>Companies</h3>
{{#each controller}}
<li>{{ name }}</li>
{{/each}}
</ul>
</div>
</div>
</script>
Некоторые части документации показывают setupController вместо model: function() {}
, но я не ясно, о различиях. Я пробовал оба, без успеха.
Любые идеи?
nice. в чем разница между «@each» и «@ each.name»? Первый будет пересчитывать, когда какое-либо свойство изменяется, второе - только при изменении свойства имени? –