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' });
});
}
});
Run Code Online (Sandbox Code Playgroud)
模型:
import DS from 'ember-data';
export default DS.Model.extend({
artifactId : DS.attr('number'),
artifactName : DS.attr('string'),
linkTypeCode : DS.attr('string')
});
Run Code Online (Sandbox Code Playgroud)
你的路线是打电话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';
});
});
}
});
Run Code Online (Sandbox Code Playgroud)
我还要注意DS.filter返回一个实时记录数组,这意味着它的记录总是与商店学到的记录保持同步.可以执行以下操作.
Store.find('link');
return Store.filter('link', function (record) {
return record.get('linkTypeCode') === 'NSL';
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2627 次 |
| 最近记录: |