如何从控制器访问模型数据以在Ember的视图中渲染?

时间:2015-04-03 07:57:39

标签: ember.js ember-data handlebars.js

我目前无法在手柄模板中尝试从模型中渲染数据。我可以看到数据是从Ember Chrome检查器中的数据中显示的API中提取的。

我正在使用Ember v1.9.1和Ember Data 1.0.0-beta.16.1。

但是,当尝试遍历控制器的模型数据时,页面上没有任何内容呈现。到目前为止,这是我的代码:

型号:

App.User = DS.Model.extend({
  name: DS.attr('string'),
  email: DS.attr('string')
});

路由器:

App.Router.reopen(
{
  location: 'auto',
  rootURL: '/'
});

App.Router.map(function() 
{
  this.resource('users', { path: '/users' });
});

路线:

App.UsersRoute = Ember.Route.extend({
    model: function()
    {
        this.store.find('user');
    }
});

模板:

users template
<ul>
    {{#each user in model}}
        <li>
            Name: {{user.name}}
            Email: {{user.email}}
        </li>
    {{/each}}
</ul>

为什么我的车把模板没有在页面上呈现数据?

1 个答案:

答案 0 :(得分:1)

路线:

App.UsersRoute = Ember.Route.extend({
    model: function() {
        return this.store.find('user'); // <-- missing return statement
    },

    // default behaviour
    setupController: function(controller, model) {
      controller.set('model', model);
    }
});