Ember 2.5 ember-cmi-mirage 试图获取集合的子集
Ember 2.5 ember-cmi-mirage trying to get a subset of collection
使用 ember 2.5 和 ember-cli-mirage 0.2)
在我的 mirage/config.js 中,我试图使用 slice() 函数
获取集合的一个子集,用于分页)
var books = schema.book.all().slice(startItem, endItem );
但我得到一个错误:
schema.book.all(...).slice is not a function
我也试过了,同样的错误
var books = schema.book.all();
var items = books.slice(startItem, endItem );
这是我的 mirage/config.js
导出默认函数(){
....
this.get('/books', function(schema, request) {
const pageNumber = request.queryParams['page[number]'];
const pageSize = request.queryParams['page[size]'];
const startItem= (pageNumber - 1) * pageSize;
const endItem = (pageNumber * pageSize) - 1;
var books = schema.book.all().slice(startItem, endItem );
....
return books;
});
}
似乎 slice() 是 ArrayProxy 的一个函数。然而,这可能对 JSONAPISerializer 没有帮助
我有点迷茫,因为我可以 google 与 Ember 1.13 而不是 Ember 2.5...
相关的所有示例
这是因为 Collection 是类数组,但不是真正的数组。正是出于这个原因,在下一个测试版中,我们将公开一个 .models
属性 ,它具有底层数组。
现在,尝试对您的 schema.book.all()
集合调用 .toArray()
,然后对其调用 slice
。
要利用 Serializer 层,请确保 return 来自您的处理程序的新集合:
import Collection from 'ember-cli-mirage/orm/collection';
this.get('/books', (schema, request) => {
let books = schema.book.all().toArray().slice(...);
return new Collection('book', books);
});
使用 ember 2.5 和 ember-cli-mirage 0.2)
在我的 mirage/config.js 中,我试图使用 slice() 函数
获取集合的一个子集,用于分页)var books = schema.book.all().slice(startItem, endItem );
但我得到一个错误:
schema.book.all(...).slice is not a function
我也试过了,同样的错误
var books = schema.book.all();
var items = books.slice(startItem, endItem );
这是我的 mirage/config.js 导出默认函数(){ .... this.get('/books', function(schema, request) {
const pageNumber = request.queryParams['page[number]'];
const pageSize = request.queryParams['page[size]'];
const startItem= (pageNumber - 1) * pageSize;
const endItem = (pageNumber * pageSize) - 1;
var books = schema.book.all().slice(startItem, endItem );
....
return books;
});
}
似乎 slice() 是 ArrayProxy 的一个函数。然而,这可能对 JSONAPISerializer 没有帮助
我有点迷茫,因为我可以 google 与 Ember 1.13 而不是 Ember 2.5...
相关的所有示例这是因为 Collection 是类数组,但不是真正的数组。正是出于这个原因,在下一个测试版中,我们将公开一个 .models
属性 ,它具有底层数组。
现在,尝试对您的 schema.book.all()
集合调用 .toArray()
,然后对其调用 slice
。
要利用 Serializer 层,请确保 return 来自您的处理程序的新集合:
import Collection from 'ember-cli-mirage/orm/collection';
this.get('/books', (schema, request) => {
let books = schema.book.all().toArray().slice(...);
return new Collection('book', books);
});