Данные объекта Vuex ORM всегда пусты? - PullRequest
0 голосов
/ 19 мая 2019

Я работаю над внедрением Vuex ORM для нормализации моих данных.Я родом из Rails, поэтому работа с ORM представляется мне гораздо более простым способом обработки глубоко вложенных данных.Однако я следовал за документами, когда я проверял Vuex Devtools и открывал объект данных сущностей, они всегда были пустыми.Чего мне не хватает?

_store / index.js

import Vue from 'vue';
import Vuex from 'vuex';
import VuexORM from '@vuex-orm/core';
import database from './database';

Vue.use(Vuex);

export const store = new Vuex.Store({
  modules: {
     ... // existing Vuex modules
  },
  plugins: [VuexORM.install(database)],
});

_store / database.js

import { Database } from '@vuex-orm/core';

import User from '~/_models/User';
import TodoItem from '~/_models/TodoItem';

import users from './modules/user';
import todoItems from '~/_store/modules/todoItems';

const database = new Database();

database.register(User, users);
database.register(TodoItem, todoItems);

export default database;

_store / modules /

// user.js and todoItems.js
export default {
  namespaced: true,
};

_models /

// user.js
import { Model } from '@vuex-orm/core'
import TodoItem from './TodoItem';

export default class User extends Model {
  static entity = 'users'

  static fields() {
    return {
      id           : this.increment(),
      email        : this.increment(),
      firstName    : this.string(''),
      lastName     : this.string(''),
      address1     : this.string(''),
      address2     : this.string(''),
      city         : this.string(''),
      state        : this.string(''),
      country      : this.string(''),
      avatar_url   : this.string(''),
      todo_item: this.hasMany(TodoItem, 'user_id'),
    }
  }
};

// TodoItem.js
import { Model } from '@vuex-orm/core'
import User from './User'
import UpcomingHike from './UpcomingHike';

export default class Todo extends Model {
  static entity = 'todos'

  static fields() {
    return {
      id              : this.increment(),
      title           : this.string(''),
      completed       : this.boolean(false),
      user_id         : this.number(0),
      position        : this.number(0),
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...