Data binding 无法访问Ember.js模型的属性

Data binding 无法访问Ember.js模型的属性,data-binding,ember.js,Data Binding,Ember.js,我在访问Ember.js中的模型属性时遇到问题 型号: App.Page = DS.Model.extend({ title: DS.attr('string'), parent: DS.attr('number'), }); App.BlocksController = Ember.ArrayController.extend({ pages: function() { return App.Page.find(); }.property(), pageTre

我在访问Ember.js中的模型属性时遇到问题

型号:

App.Page = DS.Model.extend({
  title: DS.attr('string'),
  parent: DS.attr('number'),
});
App.BlocksController = Ember.ArrayController.extend({

  pages: function() {
    return App.Page.find();
  }.property(),

  pageTree: function() {
    var pages = this.get('pages.content'),
        pageTree = new Tree();
    for(var i = 0; i < pages.length; i++) {
        console.log( pages[i], pages[i].id, pages[i].parent );
    }
    pageTree.insertList(pages);
    return pageTree;
  }.property('pages.@each'),

});
控制器:

App.Page = DS.Model.extend({
  title: DS.attr('string'),
  parent: DS.attr('number'),
});
App.BlocksController = Ember.ArrayController.extend({

  pages: function() {
    return App.Page.find();
  }.property(),

  pageTree: function() {
    var pages = this.get('pages.content'),
        pageTree = new Tree();
    for(var i = 0; i < pages.length; i++) {
        console.log( pages[i], pages[i].id, pages[i].parent );
    }
    pageTree.insertList(pages);
    return pageTree;
  }.property('pages.@each'),

});
我假设使用
pages.@each
作为属性,
pageTree
属性应该绑定到(加载的)pages数组

是的,
页面
不是由ArrayController控制的模型,而是一组辅助模型

当我在模板中使用
{{{{each pages}}{{parent}}{{/each}}
时,它可以工作
所以我想,问题与数据绑定有关


作为参考,我现在使用的是Ember 1.0.0-rc.6.1、Ember data 0.13、Ember data django rest adapter 0.13。好的,多亏了IRC:

pageTree: function() {
  var pages = this.get('pages'),
    pageTree = new Tree();
  pages.forEach(function(page) {
    //console.log(page, page.get('parent'));
    pageTree.insertAt(page.get('parent'), page );
  });
  return pageTree;
}.property('pages.@each'),

因此,没有
.content
,但是
forEach
.get()

所以即使帐户数组长度为1,也要这样做?即,在控制器中,this.get(“accounts.length”)==1。this.get(“accounts[0].id”)未定义