Vue не видит компонент из моего плагина - PullRequest
1 голос
/ 31 октября 2019

Мой плагин;в настоящее время содержит только один компонент (реализован в TypeScript):

import _Vue, { PluginObject } from "Vue";
import MyComponent from "./MyComponent.vue";

const VuePlugin: PluginObject<void> = {
  install(Vue: typeof _Vue): void {
    Vue.component(MyComponent.name, MyComponent);
    console.log("---");
  }
};

export default VuePlugin;

Я ожидаю, что MyComponent будет виден глобально благодаря Vue.component(MyComponent.name, MyComponent);.

Использование:

import Vue from "vue";
import MyPlugin from "my-plugin/VuePlugin";
import RootComponent from "@SourceFiles:StaticView/RootComponent.vue";


(function executeApplication(): void {

  Vue.use(MyPlugin);

  new Vue({
    el: "#Application",
    template: "<RootComponent />",
    components: { RootComponent }
  });
})();
<template lang="pug">
  MyComponent 
    div OK
</template>

<script lang="ts">
  import { Vue, Component } from "vue-property-decorator";

  @Component
  export default class RootComponent extends Vue {}
</script>

Код до console.log("---"); (из кода плагина) выполнен без ошибок. Однако, чем произошла ошибка Vue:

Unknown custom element: <DevelopmentBuildAnywherePageVue> - did you register
 the component correctly? For recursive components, make sure to provide the "name" option.

Что я пропустил?

1 Ответ

0 голосов
/ 31 октября 2019

Это неверная ошибка имени компонента. DevelopmentBuildAnywherePageVue - это VuePlugin, имя файла из второго списка, но имя компонента - MyComponent. Ошибка в реальном имени файла проекта DevelopmentBuildAnywherePageVue было в шаблоне вместо имени компонента MyComponent.

Спасибо @nada за то, что уделили мне внимание.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...