jdo*_*116 1 model store filter ember.js
我正在尝试将模型存储库返回到我的模板中,但在返回之前,我希望按特定属性进行过滤,仅返回具有该属性的记录.另外,在我的模型中,我用序列化器覆盖了默认的'id'.
在我的控制台中,我得到一个"商店未定义ReferenceError:商店未定义"任何想法?
这是我的路线:
import Ember from 'ember';
import DS from 'ember-data';
export default Ember.Route.extend({
    model: function() {
    return this.store.find('link').then(function(links) {
        return store.filter('link', { linkTypeCode: 'NSL' });
    });
    }
});
模型:
import DS from 'ember-data';
export default DS.Model.extend({
    artifactId : DS.attr('number'),
    artifactName : DS.attr('string'),
    linkTypeCode : DS.attr('string')
});
你的路线是打电话store而不是this.store.由于这是在异步回调中,this.store因此还需要将其缓存到变量中.
此外,一旦您解决此问题,您将遇到过滤器错误.过滤器需要一个功能.
import Ember from 'ember';
import DS from 'ember-data';
export default Ember.Route.extend({
  model: function() {
    var Store = this.store;
    return Store.find('link').then(function(links) {
      return Store.filter('link', function (record) { 
        return record.get('linkTypeCode') === 'NSL'; 
      });
    });
  }
});
我还要注意DS.filter返回一个实时记录数组,这意味着它的记录总是与商店学到的记录保持同步.可以执行以下操作.
Store.find('link');
return Store.filter('link', function (record) {
  return record.get('linkTypeCode') === 'NSL';
});