Ember.js无法找到我的模型定义

时间:2014-10-17 01:42:01

标签: ember.js

我正在构建一个Ember应用程序,它使用$ .getJSON从服务器请求数据。 问题是Ember似乎无法识别我的模型并根据从服务器返回的json自动创建它(它的属性比我模型中的更多)。

Ember代码

var App = Ember.Application.create({});

App.ViewObject = DS.Model.extend({
    title: DS.attr('string'),
    description: DS.attr('string'),
    ComputedProp: function () {
        return this.get('title') + ' - test';
    }.property('title')
});

App.ViewObjectRoute = Ember.Route.extend({
    model: function () {
        //served JSON structure is {title:'test',description:'abc',price:20,...}
        return $.getJSON(myServerUrl);
    },
});

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

使用Ember Inspector我可以看到正在使用的模型具有从服务器返回的所有属性,但是如果我尝试使用" ComputedProp"财产没有任何反应,这让我觉得Ember并没有认识到我的模型定义。我通过评论我的模型证实了这一点 - 这样做之后没有任何改变。

是否有我不遵循的命名惯例? 我应该如何让Ember将JSON从服务器映射到我的模型?

由于

更新

似乎发生了这种情况,因为我没有使用Ember数据REST适配器,而是手动发出请求,因为它需要一些调整才能与我的JSON API相处。 在我从模型创建记录并填充数据后,事情开始起作用了:

var store = this.store;
$.getJSON().then(function(data){
    return store.createRecord('ViewObject', data);
});

如果我在这里做的事情有任何我应该考虑的副作用,那也很好。感谢

0 个答案:

没有答案