2014-07-07 37 views
0

所以我在我的多个模型如何设置控制器Ember.JS

应用途径

App.ApplicationRoute = App.AuthenticatedRoute.extend({ 
    model: function() { 
     return Ember.RSVP.hash({ 
      projects: this.store.find('project'), 
      departments: this.store.find('department'), 
     }); 
    }, 
    setupController: function(controller, model) { 
     controller.set('model', model); 
    } 
}); 

应用控制器

App.ApplicationController = Ember.ObjectController.extend({ 
    all_projects: Ember.computed.alias('model.projects'), 
    all_departments: Ember.computed.alias('model.departments'), 
}); 

得到这个然后我有这在我的模板中

<div class="col-xs-1" style="padding:0"> 
     {{view Ember.Select class="form-control cover-input" content=all_projects value=create_project}} 
    </div> 
     {{view Ember.Select class="form-control half-input" content=all_departments optionValuePath="content.id" optionLabelPath="content.department_name" value=create_department}} 

但是没有任何内容出现在选择框中。我也尝试只是通过财产循环,如

{{#each all_departments}} {{department_name}} {{/each}}也没有显示任何东西。

回答

0

您的模型别名all_projects和all_departments将是一个数组对象。所以你应该为你的ApplicationController扩展ArrayController而不是扩展ObjectController。

希望能解决加载Ember.Select视图的问题。

下面给出了使用Ember.Select视图渲染两个模型的多个模型的基本示例。

JSBIN Ling

+0

确定那些是数组,但模型本身返回两个数组的对象。所以'App.ApplicationController = Ember.ArrayController.extend'给了我一个错误,因为它应该。 'Assertion Failed:ArrayProxy需要一个Array或Ember.ArrayProxy,但是你传递了对象'。 – user1952811

相关问题