1) Поскольку вы создаете экземпляр этого компонента вручную, а он не принадлежит дереву компонентов вашего основного приложения, хранилище не будет автоматически вставлено в него из корневого компонента. При создании экземпляра компонента вам придется вручную предоставить хранилище конструктору.
import ProjectRow from "./ProjectRow.vue";
import Vue from "vue";
import store from "../store";
let ProjectRowClass = Vue.extend(ProjectRow);
let ProjectRowInstance = new ProjectRowClass({ store });
2) В отдельном файловом компоненте Vue (SFC) вне экспорта по умолчанию this
не ссылается на экземпляр Vue, поэтому у вас нет доступа к $refs
или любое другое свойство / метод экземпляра Vue. Чтобы получить доступ к экземпляру Vue, вам нужно переместить эту строку this.$refs.container.appendChild(instance.$el)
куда-нибудь внутри экспорта по умолчанию, например, в хук mounted
или внутри одного из ваших methods
.
См. CodeSandbox , чтобы узнать, как вы можете это сделать.