0

得到这条路线来从一个宁静的服务中获取数据

var App = Ember.Application.create({rootElement: '#planner'});
App.Store = DS.Store.extend();
App.Router.map(function(){
    this.resource('home');
});
App.HomeRoute = Ember.Route.extend({
    model: function(){
        return Ember.$.getJSON('/api/get-planner/');
    }
});

和模板:

<script type="text/x-handlebars" data-template-name="home">
    {{name}}
</script>

不知何故,名称的值没有显示出来。我可以确认 api 返回正确的 json 数据。

4

1 回答 1

1

Ember-Data 需要这样的 JSON:

{
    planner: {
        name: 'Test'
        // your data
    }
}

因此,如果您的 API 返回此 JSON:

{
    name: 'Test'
}

它行不通。我建议改用 Ember-Model ( https://github.com/ebryn/ember-model ),因为它更稳定并且允许您自定义 REST 适配器的行为。

您的代码可能如下所示:

 App.PlannerModel = Ember.Model.extend({
     name: Ember.attr(),
     // see the documentation of ember-model for this
 });

 App.PlannerModel.url = '/api/get-planner/';
 App.PlannerModel.adapter = Ember.RESTAdapter.create();

 App.HomeRoute = Ember.Route.extend({
   model: function() {
       return App.PlannerModel.find();
   }
});

如果您想采用这种方法,请确保不要包含 Ember-Data 并改用 Ember-Model。

于 2013-09-04T14:37:29.333 回答