我正在尝试实现无限滚动,在此处找到:https://github.com/hhff/ember-infinity到我的应用中,但说明和示例太稀疏了。
我正在运行Ember 2.5,这似乎已经过时了:
"灵感来自@ bantic的Ember Infinite Scroll repo,但没有使用 控制器,为Ember 2.0做准备。
即使https://github.com/bantic/ember-infinite-scroll - 已弃用 - 实际上也指向此处。所以我不知道该怎么做。
无论如何,这是我以前的路线:
import Ember from 'ember';
import { users } from '../mirage/fixtures/config';
var usersRoute = Ember.Route.extend({
model() {
return users;
}
});
export default usersRoute;
我不确定{users}在这里的含义。我想它只是将它包裹在一个物体中。它有效,但我不知道如何使用无限滚动插件来解释它。根据其基本用法,它看起来像这样:
import Ember from 'ember';
import InfinityRoute from "ember-infinity/mixins/route";
export default Ember.Route.extend(InfinityRoute, {
model() {
/* Load pages of the Product Model, starting from page 1, in groups of 12. */
return this.infinityModel("product", { perPage: 12, startingPage: 1 });
}
});
所以我天真地尝试将它们混合在一起,就像这样:
import Ember from 'ember';
import { users } from '../mirage/fixtures/config';
import InfinityRoute from "ember-infinity/mixins/route";
var usersRoute = Ember.Route.extend(InfinityRoute, {
model() {
return this.infinityModel("user", { perPage: 12, startingPage: 1 });
}
});
export default usersRoute;
这给了我错误:
ember.debug.js:28556处理路径时出错:users.index未找到'用户'错误:未找到'用户&#39>
的模型显然我没有正确引用用户。我尝试删除用户周围的引号,但这只是给了我一个不同的错误:
ember.debug.js:28556处理路由时出错:users.index断言失败:已删除将类传递给存储方法。请传递一个dasherized字符串,而不是{users:[object Object],[object Object]等。
这是我的海市蜃楼/配置:
导出默认函数(){
this.get('/users', function() {
return {
data: [{
"id": 0,
"details": {
"fname": "Jeanine",
"lname": "Sanford",
"phone": "(963) 535-2006",
"address": "646 Montauk Court",
"city": "Gratton",
"province": "ON",
"country": "Saint Vincent and The Grenadines",
"postalcode": "M8X1R1"
}
}, {
// more users
}],
meta: {
total_pages: 5
}
};
});
};
我的模型看起来像这样:
import Model from 'ember-data/model';
import attr from 'ember-data/attr';
export default Model.extend({
fname: attr(),
lname: attr(),
phone: attr(),
address: attr(),
city: attr(),
province: attr(),
country: attr(),
postalcode: attr()
});
编辑:添加了文件结构
app/
> controllers/
- > users/
- - - user.js
- - users.js
> mirage/
- > fixtures/
- - - data.js
- - config.js
> models/
- - user.js
> routes/
- > users/
- - - user.js
- - users.js
> templates/
- > users/
- - - user.hbs
- - application.hbs
- - users.hbs
- app.js
- index.html
- router.js