ember无限滚动模型与夹具数据

时间:2016-05-02 03:01:36

标签: ember.js infinite-scroll

我正在尝试实现无限滚动,在此处找到: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

0 个答案:

没有答案