1

使用 RestAdapter 时模型的计算字段不显示。为什么?

我的路线和视图如下所示:

App.MyObjRoute = Ember.Route.extend({
  model : function(params)
  {
      return App.MyObj.find(params.myobjId);
  }
});

App.MyObjView = Ember.View.extend({});

我有一个 DS.Model:

App.MyObj = DS.Model.extend({
  first: DS.attr( 'string' ),
  last: DS.attr( 'string' ),
  firstlast: function()
  {
    return this.get('first') + ' ' + this.get('last');
  }.property('first', 'last')
})

还有一个夹具代码:

App.Store = DS.Store.extend({
  adapter: DS.FixtureAdapter.create()
});

App.MyObj.FIXTURES = [
  { 
    id: 1, 
    first: 'Trek', 
    last: 'Bob'
  }
];

我在这样的模板中显示:

<script type="text/x-handlebars" data-template-name="myTemplate">

{{firstlast}} {{first}} {{last}}

</script>

这很好用。我显示“Trek Bob Trek Bob”。

但是当我保留模型时:

App.MyObj = DS.Model.extend({
  first: DS.attr( 'string' ),
  last: DS.attr( 'string' ),
  firstlast: function()
  {
    return this.get('first') + ' ' + this.get('last');
  }.property('first', 'last')
})

并用这样的 RestAdapter 替换夹具代码:

App.Store = DS.Store.extend({
  revision: 13,
  adapter: DS.RESTAdapter.extend({url: "myApi"})
});

只有{{first}}and{{last}}被显示,而{{firstlast}}不是。

如何解决?

4

0 回答 0